PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Syntaxe de requête PostgreSQL LEFT OUTER JOIN

Vous devez utiliser CROSS JOIN pour obtenir toutes les combinaisons possibles de name du premier tableau avec l'option du deuxième tableau. Puis LEFT JOIN ces combinaison avec la deuxième table. Quelque chose comme :

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

Démo SQL Fiddle