SQL Server:将列转换为行
Posted
技术标签:
【中文标题】SQL Server:将列转换为行【英文标题】:SQL Server : convert columns to rows 【发布时间】:2016-04-04 13:55:51 【问题描述】:我在 SQL Server 中有以下输入
我需要在下面的输出中转换
在 SQL Server 中可以吗?如果是,请尽快提供解决方案。
提前致谢
【问题讨论】:
可能重复和/或多帐户:Sql Convert columns to rows and rows to columns 你考虑过自加入吗? SO 不是“为我编写代码”服务,当然不是“为我编写代码尽快”服务。请发布您尝试过的内容PIVOT
赢得胜利。
与***.com/questions/36404550/…相同的类?
【参考方案1】:
像这样:
SELECT
x.col2,
MAX(CASE WHEN x.col1 = 48 THEN x.col3 END) AS [48],
MAX(CASE WHEN x.col1 = 49 THEN x.col3 END) AS [49]
FROM dbo.Table_1 x
GROUP BY x.col2
Result:
col2 48 49
H0000 5 55
H0100 6 66
H0200 7 77
H0300 8 88
H0400 9 99
H0500 10 100
【讨论】:
以上是关于SQL Server:将列转换为行的主要内容,如果未能解决你的问题,请参考以下文章
SQL Server 2008 R2,将列转换为行,将行转换为列[重复]