我检查了这个网站的代码来堆叠两个表(将一个表的结果放在另一个表的结果下面),其中列名不同。我知道当名称相同时 UNION ALL 工作..我知道当一个表比另一个表有更多信息时,UNION ALL 与一个表中缺少的列名的分配工作..但是如果该列怎么办名字不一样?就像如果在一个表中列名是 CHP 而在另一个表中是“CHILD HEALTH PLUS”并且我需要将这两列堆叠在一起怎么办?
最佳答案
只要列的数据类型相同,就可以使用 UNION。列名是否不同并不重要。
SELECT column1
FROM Table1
UNION
SELECT column1
FROM Table2
如果你想知道记录来自哪个表,那么你可以添加另一个字段来区分行:
SELECT column1, 'Table1' as TableName
FROM Table1
UNION
SELECT column1, 'Table2' as TableName
FROM Table2
关于sql - 堆叠两个具有不同列名的sql表(2008),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10452412/