gpt4 book ai didi

sql-server - TSQL - 逆透视多个列

转载 作者:行者123 更新时间:2023-12-03 01:55:53 24 4
gpt4 key购买 nike

如何在“一个”中取消多个列的透视?

现在我对每一列都有一个逆透视,但这会创建很多空行。

请查看屏幕截图。 enter image description here

在顶部您可以看到输入数据。目前我在中间的 table 上,代码如下:

SELECT [ID], [RowNumber],  [Year], [Sales]  FROM (
SELECT ID, RowNumber, [Sales 2013] as [2013], [Sales 2014] as [2014]
FROM mytable) p UNPIVOT (
[Sales] FOR [Year] IN ([2013], [2014]) )AS unpvt ;

但我认为了解底层表结构会更好,因为实际数据包含更多列和更多年份需要处理。

Here's a Fiddle 与示例数据。

希望你能告诉我一种到达那里的方法。谢谢。

最佳答案

SELECT [ID],
[RowNumber],
[Year],
Sales,
Budget
FROM mytable
CROSS APPLY (VALUES (2013, [Sales 2013], [Budget 2013]),
(2014, [Sales 2014], [Budget 2014]) )
V([Year], Sales, Budget)

SQL Fiddle

关于sql-server - TSQL - 逆透视多个列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16523021/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com