объединить две одинаковые структуры таблиц с разными данными

Редактировать: После попытки применения метода COALESCE я столкнулся с проблемой, когда данные повторяются с одними и теми же данными для каждой категории мощности. Столбец 2 - мощность. enter image description here

Я создал две временные таблицы, обе с точно такой же структурой таблицы. В этих таблицах есть несколько столбцов, которые могут иметь одинаковые значения, а затем несколько столбцов значений, которые будут иметь разные числа. Некоторые из них будут NULL в одном столбце, и не null в другом. Я хочу собрать все значения вместе, и в строках с одинаковым сайтом и заводом я бы хотел, чтобы значения были объединены.

Вот пример того, как могут выглядеть две таблицы и какой результат я ожидаю

TABLE1:

SITE      PLANT          VALUE_1           VALUE 2
S1        P1             54                66
S1        P2             43                43

TABLE 2:

SITE      PLANT         VALUE_1           VALUE_2
S1        P1            33                43
S2        P1            34                22

RESULT:

SITE      PLANT         t1_VALUE_1    t1_VALUE_2    t2_VALUE_1      t2_VALUE2
S1        P1            54            66            33              43
S1        P2            43            43            NULL            NULL
S2        P1            NULL          NULL          34              22

Первоначально я думал о полном объединении. Однако это не работает, потому что в операторе select вы должны указать, откуда брать столбцы, например, site и plant; но если выбрать и t1.site, и t2.site, то получится два столбца. Ближе всего я подошел к следующему запросу, однако при любом результате в S2, который имеет сайт и завод, отсутствующие в S1, вы получаете нулевые значения для S1 и S2.

SELECT t1.Site, t1.Plant, t1.Value_1, t1.Value_2, t2.Value_1, t2.Value_2 
FROM table1 t1 
FULL JOIN table2 t2 
ON t1.site = t2.site
AND t1.plant = t2.plant
6
задан Clockwork-Muse 22 October 2011 в 03:48
поделиться