所以我有两个表只有几个相似的列,我需要加入它们以给它们一个共同的排序,但没有组合任何数据.
例如:
表Foo:
AccountID Date FooType
--------------------------------
1234 12/24/15 A
1234 12/12/15 A
5464 01/04/15 A
Run Code Online (Sandbox Code Playgroud)
表栏:
AccountID Date BarAmount BarFlag
--------------------------------------------
1234 05/03/15 12.56 1
7657 02/14/15 5.11 0
9879 01/04/15 8.00 1
Run Code Online (Sandbox Code Playgroud)
目标是使输出为:
AccountID Date BarAmount BarFlag FooType
-------------------------------------------------------
1234 05/03/15 12.56 1 NULL
1234 12/24/15 NULL NULL A
1234 12/12/15 NULL NULL A
7657 02/14/15 5.11 0 NULL
9879 01/04/15 8.00 1 NULL
5464 01/04/15 NULL NULL A
Run Code Online (Sandbox Code Playgroud)
所以换句话说,我不希望通过加入AccountID来结合(这会给我4行或5行,具体取决于我如何设置它)但我确实希望在列名相同时填充列.(桌子之间有一些交叉)
UNION ALL给了我一个错误,因为表格虽然有一些共同的列,却是非常不同的.它给出的错误是:"使用UNION,INTERSECT或EXCEPT运算符组合的所有查询必须在其目标列表中具有相同数量的表达式." 有些文章声称可以通过指定列名来绕过它.我试过了(下面的查询),它仍然给了我错误.
SELECT [AccountID],[Date],[BarAmount],[BarFlag] FROM Bar
UNION …Run Code Online (Sandbox Code Playgroud)