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

标签 sql sql-server union

我检查了这个网站的代码来堆叠两个表(将一个表的结果放在另一个表的结果下面),其中列名不同。我知道当名称相同时 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/

相关文章:

mysql - 如何在同一列上找到具有多个不同值的结果?

mysql - 需要数据库设计规范化帮助 (5nf)

java - 比较两个表中的值并将从第一个表中获取的值插入到第二个表中

PHP mysql 在两个表中搜索一个值然后将其合并

MYSQL:连接 2 个包含存储函数的 select 语句时出错

mysql - 选择不存在相关记录的行

c++ - 在 Linux 上使用 Qt 连接到 Azure SQL Server

sql-server - 数据类型 date 和 datetime 在 add 运算符中不兼容

sql - 我应该使用外键吗?

r - 在 iGraph 中组合图时如何保留顶点名称?