我有2个表(sql server)
SELECT x, id, y, z
FROM table1
SELECT a, id, b, c
FROM table2
我希望合并结果(不是联合)
如果两个表中的id值匹配,则结果为
x, id, y, z, a, id, b, c
其中id仅在表1中,结果将是
x, id, y, z, null, id, null, null
其中id仅在表2中,结果将是
null, id, null, null, a, id, b, c
出现一次或两次的ID没有区别
我花了好几个小时才无济于事
这可能吗?
答案 0 :(得分:2)
您可以使用FULL OUTER JOIN关键字;
SELECT t1.x, t1.id, t1.y, t1.z, t2.a, t2.id, t2.b, t2.c
FROM table1 t1
FULL OUTER JOIN table2 t2
On t1.id = t2.id
答案 1 :(得分:0)
SELECT
table1.x, ISNULL(table1.id,table2.id) [id], table1.y, table1.z
,table2.a, ISNULL(table1.id,table2.id) [id], table2.b, table2.c
FROM table1
FULL JOIN table2 ON table1.id=table2.id