堆叠两个具有不同列名的sql表(2008)

use*_*412 2 sql sql-server union

我检查了这个站点的代码,以堆叠两个表(将结果从一个表放在另一个表的结果下),其中列名不同.我知道UNION ALL在名称相同的情况下工作..我知道UNION ALL在一个表的信息比另一个表有更多信息的情况下,对一个表中缺少的列名称赋值有效但是如果列怎么办名字不同?就像在一个表中列名称是CHP而在另一个表中它是"CHILD HEALTH PLUS"并且我需要将这两列堆叠在一起?

Tar*_*ryn 6

只要列的数据类型相同,就可以使用UNION.列名称是否不同并不重要.

SELECT column1
FROM Table1
UNION
SELECT column1
FROM Table2
Run Code Online (Sandbox Code Playgroud)

如果您想知道记录来自哪个表,那么您可以添加另一个区分行的字段:

SELECT column1, 'Table1' as TableName
FROM Table1
UNION
SELECT column1, 'Table2' as TableName
FROM Table2
Run Code Online (Sandbox Code Playgroud)