У меня есть приведенные ниже примеры данных в двух таблицах:
Таблица1
Item Loc Hierarchy Val1 Val2 Val3 Val4
I1 L1 Item null null null D1
I2 L2 Item null null null D2
I2 L3 Item null null null D3
Таблица2
Item Loc Hierarchy Val1 Val2 Val3 Val4
L1 ' ' A1 B1 C1 null
L4 ' ' A4 B4 C4 null
В основном -
Столбец иерархии может иметь значения «Элемент» или «».
Может существовать несколько комбинаций Item @ Loc. Но будет иметь элемент Item, только если Иерархия - это Item;Столбец элемента будет пустым для значения '' иерархии.
Loc может следовать следующим возможным сценариям -
Одна строка с Val1, Val2, Val3 какнуль в таблице 1
и еще одна строка с Val1, Val2, Val3 со значениями и Val4 как ноль в таблице 2.
Только одна строка со значениями Val1,2,3 и Val4 как ноль в Table1;в Таблице 2 нет строки.
Только одна строка со значением Val4 и Val1,2,3 в Таблице 2 как ноль;нет строки со значениями Val1,2,3 в таблице 1.
Ожидаемый результат-
Item Loc Hierarchy Val1 Val2 Val3 Val4
I1 L1 Item A1 B1 C1 D1
I2 L2 Item null null null D2
I2 L3 Item null null null D3
L4 ' ' A4 B4 C4 null
Как можно объединить данные и достичь желаемого результата? Полное внешнее соединение? Существуют ли другие альтернативные методы, которые являются эффективными с точки зрения производительности, ИЛИ способ повышения полного запроса на внешнее соединение. Поскольку это подмножество более крупного запроса, поэтому, как только я достигну этого результата, я должен использовать этот набор данных для обновления другой таблицы, содержащей около 100 миллионов записей (следовательно, для поиска блоков, эффективных по производительности).
Спасибо заранее!