在U SQL中合并2个不相等的列大小行集

时间:2019-03-04 12:48:25

标签: u-sql rowset

我有3列的rowetA。我需要将此rowsetA添加到具有上述3列以及其他列的现有rowsetB中。 如何在2个行集之上添加/联合,以使rowetA在rowetB中存在的其他列具有null / empty / default值?

1 个答案:

答案 0 :(得分:1)

最简单的方法是在对rowetB执行UNION时在rowetA中添加默认的空值。

@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。

希望这会有所帮助