PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Składnia zapytania PostgreSQL LEFT OUTER JOIN

Musisz użyć CROSS JOIN aby uzyskać każdą możliwą kombinację name z pierwszej tabeli z option z drugiego stołu. Następnie LEFT JOIN te połączenie z drugim stołem. Coś takiego:

SELECT 
  t1.id,
  t1.name,
  t2.option,
  t2.value
FROM
(
  SELECT t1.id, t1.name, t2.option
  FROM table1 AS t1
  CROSS JOIN table2 AS t2
) AS t1
LEFT JOIN table2 AS t2  ON t1.id = t2.tbl1_fk
                       AND t1.option = t2.option

Pokaz SQL Fiddle



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak skonfigurować zdalne połączenie z PostgreSQL

  2. Sekwencja w Oracle/PostgreSQL bez identyfikatora w instrukcji insert

  3. Importowanie .csv z kolumną datownika (dd.mm.rrrr gg.mm.ss) przy użyciu psql \copy

  4. Używanie PostgresSQL INTERVAL w SQLAlchemy, gdzie czas trwania jest dynamicznie przechowywany w DB i nie jest parametrem

  5. Jak obliczyć sumę wielu kolumn w PostgreSQL