PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Sintassi della query di PostgreSQL LEFT OUTER JOIN

Devi usare CROSS JOIN per ottenere ogni possibile combinazione di name dalla prima tabella con l'option dal secondo tavolo. Quindi LEFT JOIN queste combinazione con la seconda tavola. Qualcosa come:

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

Demo di SQL Fiddle