PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

PostgreSQL LEFT OUTER JOIN-Abfragesyntax

Sie müssen CROSS JOIN verwenden um jede mögliche Kombination von name zu erhalten aus der ersten Tabelle mit der option vom zweiten Tisch. Dann LEFT JOIN diese Kombination mit der zweiten Tabelle. Etwas wie:

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

SQL-Fiddle-Demo