小编mfl*_*g14的帖子

SQL:组合两个没有'Join on'的表

所以我有两个表只有几个相似的列,我需要加入它们以给它们一个共同的排序,但没有组合任何数据.

例如:

表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)

sql database sql-server join sql-server-2014

3
推荐指数
1
解决办法
3631
查看次数

标签 统计

database ×1

join ×1

sql ×1

sql-server ×1

sql-server-2014 ×1