Я ищу лучший способ отобразить все строки из двух таблиц, соединяя сначала одно поле (dwg), а затем, где это применимо, 2-е соединение части.
Данные таблицы1 состоят из схем (dwg)вместе со списком деталей, необходимых для сборки предмета, изображенного на чертеже.Таблица 2 состоит из данных о фактических деталях, заказанных для построения схемы.Некоторые части в таблице2 представляют собой комбинацию частей в таблице1 (например, foo и bar в таблице1 были упорядочены как foobar в таблице2).
Я могу отобразить все строки в обеих таблицах с помощью UNION ALL, но это не такобъединить оба поля dwg и part.Я также посмотрел FULL OUTER JOIN, но я не понял, как присоединиться сначала по dwg, а затем по частям.Вот пример данных.
table1 table2
dwg part qty order dwg part qty
----- ----- ----- ----- ----- ----- -----
123 foo 1 ord1 123 foobar 1
123 bar 1 ord1 123 bracket 2
123 widget 2 ord2 123 screw 4
123 bracket 4 ord2 123 nut 4
456 foo 1 ord2 123 widget 2
ord2 123 bracket 2
ord3 456 foo 1
Требуемый вывод:
Цель состоит в том, чтобы создать представление, которое обеспечивает видимость для всех деталей в таблице1 и связанных заказов в таблице2.(включая те части, которые отображаются в одной, но не в другой таблице), чтобы я мог видеть все детали чертежа в таблице1 и связанные записи в таблице2 вместе с записями в таблице2, где деталь не была в таблице 1.
part_request_order_report
dwg part qty order part qty
----- ----- ----- ------ ----- -----
123 foo 1
123 bar 1
123 widget 2 ord2 widget 2
123 bracket 4 ord1 bracket 2
123 bracket 4 ord2 bracket 2
123 ord1 foobar 1
123 ord1 screw 4
123 ord1 nut 4
456 foo 1 ord3 foo 1
Возможно ли это?Или мне лучше перебирать данные для построения таблицы отчета?Заранее спасибо.