PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Синтаксис на заявка за LEFT OUTER JOIN на PostgreSQL

Трябва да използвате CROSS JOIN за да получите всяка възможна комбинация от name от първата таблица с option от втората маса. След това LEFT JOIN тези комбинации с втората маса. Нещо като:

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да предам низ с „ “ (клеймо за време) в подготвено изявление?

  2. Календарни таблици в PostgreSQL 9

  3. Комбинирайте два JSON обекта в PostgreSQL

  4. PostgreSQL проверява елемент на предишен запис

  5. Как правилно да направите upsert в postgres 9.5