具有不同列的UNION

时间:2011-10-17 09:04:14

标签: sql-server

表A

ID    Name    Age
1     John       22

表B

ID   Name
5    Erik

我想要像

这样的结果
ID    Name    Age
1     John    22
5     Erik    

当我执行UNION给出错误时

“使用UNION,INTERSECT或EXCEPT运算符组合的所有查询在目标列表中必须具有相同数量的表达式。”

如何获得理想的结果?

1 个答案:

答案 0 :(得分:8)

你可以提供一个虚拟列代替丢失的一列,如下所示返回NULL

SELECT ID,
       Name,
       Age
FROM   TABLE_A
UNION ALL
SELECT ID,
       Name,
       NULL
FROM   TABLE_B