繁体   English   中英

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

[英]stacking two sql tables (2008) with different column names

我检查了此站点的代码以堆叠两个表(将一个表的结果放在另一个表的结果之下),其中列名不同。 我知道当名称相同时,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语言? mysql / sql服务器?

mysql不需要列名相同,但是您总是可以使用'AS'来匹配列名,例如。

select column1 AS col1, column2 AS col2...

编辑:我刚刚在帖子标题中发现了'2008'-是sql server 2008吗? 无论如何,sql server似乎都不在乎。 列名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM