выберите из двух таблиц, где связанный столбец может быть нулевым - PullRequest
2 голосов
/ 19 марта 2012

У меня есть две таблицы в базе данных. Таблица 1 содержит номер заказа, который может быть НЕДЕЙСТВИТЕЛЕН. Таблица 2 содержит все данные заказа (включая номер заказа).

Теперь я хочу выбрать все столбцы из таблицы 1 и все данные заказа из таблицы два. Поэтому, если определенная запись в таблице 1 не содержит этот номер заказа, все остальные столбцы должны быть нулевыми. Но если он содержит номер заказа, я хочу, чтобы он был связан со второй таблицей и чтобы эти данные были выбраны.

Вывод должен быть примерно таким:

column1tab1 column2tab1 order_number product amount
 xx            yy            123      p1      2
 xx            yy            456      p3      4
 xx            yy            NULL    NULL    NULL
 xx            yy            789      p2      1
 etc...

Я пробовал разные вещи, но я получаю только все строки с номером заказа или все с нулем, но я не могу получить их обе одновременно. Кто-нибудь знает решение, поэтому я могу сделать это одним запросом?

Ответы [ 2 ]

1 голос
/ 19 марта 2012

что вы пробовали? Простое левое соединение поможет. Пример:

select *
from orders o left join orderdata od on o.orderId=od.orderid
0 голосов
/ 19 марта 2012
 select t1.*
 from table1 as t1 right join table2 as t2  on t1.order_number=t2.order_number
...