sql - 如何将多列合并为一列?

标签 sql sql-server

我正在编写一个查询并希望在一列中得到结果
我目前的结果是这样返回的

Column1     Column2    column3
1              A         CAT

我希望结果像这样返回
Column1
1
A
CAT

最佳答案

SELECT Column1 FROM TableName
UNION ALL
SELECT Column2 FROM TableName
UNION ALL
SELECT Column3 FROM TableName

如果您不想要重复的值,请使用 UNION而不是 UNION ALL .

您也可以使用 UNPIVOT 执行此操作运算符(operator)
SELECT Column123
FROM
(
  SELECT Column1, Column2, Column3 
  FROM TableName
) AS tmp
UNPIVOT 
(
  Column123 FOR ColumnAll IN (Column1, Column2, Column3)
) AS unpvt;

https://www.w3schools.com/sql/sql_union.asp
https://www.mssqltips.com/sqlservertip/3000/use-sql-servers-unpivot-operator-to-help-normalize-output/

关于sql - 如何将多列合并为一列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49933293/

相关文章:

sql - 加密密码显示中文

sql - 如何在 VS 2012 中使用 LocalDb 连接到较旧的 SQL 数据库?

c# - 从 SqlCommand 对象返回一个列表——我怎样才能让数据库尽可能少地工作?

MySQL 将值复制到另一个表

java - 在mybatis中映射结果集(两个整数)?

MySQL在匹配特定值时加入条件

c# - 如何获取特定 ID 的最后条目

sql - 列表从多到少排序;制作家庭电影最多的创作者将名列榜首

sql-server - 什么时候使用什么函数 vs Sprocs

sql-server - 如何将下拉列表中的 SSMS 连接复制到新计算机?