sql >> Base de Datos >  >> RDS >> PostgreSQL

Sintaxis de consulta de PostgreSQL LEFT OUTER JOIN

Tienes que usar CROSS JOIN para obtener todas las combinaciones posibles de name de la primera tabla con la option de la segunda mesa. Luego LEFT JOIN estos combinación con la segunda tabla. Algo como:

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

Demostración de SQL Fiddle