具有不同列的UNION

Yog*_*esh 5 sql-server

表A.

ID    Name    Age
1     John       22
Run Code Online (Sandbox Code Playgroud)

表B

ID   Name
5    Erik
Run Code Online (Sandbox Code Playgroud)

我想要结果

ID    Name    Age
1     John    22
5     Erik    
Run Code Online (Sandbox Code Playgroud)

当我执行UNION给出错误

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

如何获得理想的结果?

Mar*_*ith 10

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

SELECT ID,
       Name,
       Age
FROM   TABLE_A
UNION ALL
SELECT ID,
       Name,
       NULL
FROM   TABLE_B  
Run Code Online (Sandbox Code Playgroud)