sql >> Databasteknik >  >> RDS >> PostgreSQL

PostgreSQL LEFT OUTER JOIN frågesyntax

Du måste använda CROSS JOIN för att få alla möjliga kombinationer av name från den första tabellen med option från det andra bordet. Sedan LEFT JOIN dessa kombination med den andra tabellen. Något i stil med:

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



  1. WHERE_IN fråga med en sammansatt nyckel?

  2. Hur tar man bort accenter i MySQL?

  3. Inaktivera DELETE på bordet i PostgreSQL?

  4. Jag fick felet Ostödd sökning "icontains" för CharField eller gå med på fältet är inte tillåtet.