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

У меня есть rowsetA с 3 столбцами. Мне нужно добавить этот набор строкA к существующему набору строкB, который имеет указанные выше 3 столбца, а также другие столбцы. Как я могу добавить / объединить более двух наборов строк, чтобы rowsetA имел нулевые / пустые / значения по умолчанию для других столбцов, присутствующих в rowsetB?


person user3804428    schedule 04.03.2019    source источник


Ответы (1)


Самый простой способ - добавить значения NULL по умолчанию в rowsetA при выполнении UNION с rowsetB.

@rowsetA = EXTRACT A string,
B string,
C string 
FROM @path 
USING Extractors.Csv();
@rowsetB = EXTRACT A string,
B string,
C string,
D string,
E string
FROM @path1
USING Extractors.Csv();
@union = SELECT A,B,C,null AS D,null AS E FROM @rowsetA
UNION
SELECT A,B,C,D,E FROM @rowsetB;

Таким образом у вас будет нулевое значение в недостающих столбцах. Обратите внимание, что для других типов данных, таких как DateTime, int и т. Д., Вы просто указываете default (int?) Вместо null.

Надеюсь это поможет

person DraganB    schedule 05.03.2019