SQL 转置数据
SQL to transpose data
我有一个名为 Forecast 的 table,如下所示:
Product_BK 有大约 80,000 条记录,而月份有 12 条。各州保持在 5 条不变。
如何编写查询以将数据转置为如下所示:
这是在 SQL 服务器上,不希望沿着动态查询路由进行。
感谢您的所有意见
您可以使用SQL服务器内置的UNPIVOT功能:
SELECT PRODUCT_BK, Month, State, Forecast
FROM
(SELECT * FROM Forecast_Table) t
UNPIVOT
(Forecast FOR State IN (SA_NT, QLD, VIC_TAS, WA, NSW_ACT)) AS fcst
我有一个名为 Forecast 的 table,如下所示:
Product_BK 有大约 80,000 条记录,而月份有 12 条。各州保持在 5 条不变。
如何编写查询以将数据转置为如下所示:
这是在 SQL 服务器上,不希望沿着动态查询路由进行。
感谢您的所有意见
您可以使用SQL服务器内置的UNPIVOT功能:
SELECT PRODUCT_BK, Month, State, Forecast
FROM
(SELECT * FROM Forecast_Table) t
UNPIVOT
(Forecast FOR State IN (SA_NT, QLD, VIC_TAS, WA, NSW_ACT)) AS fcst