SQL移调数据

SQL移调数据

问题描述:

我有一个名为预测如下表:SQL移调数据

enter image description here

Product_BK拥有大约80,000条记录,而每月有12国保持不变,在5

哪有我编写一个查询来转置数据看起来像下面:

enter image description here

这是一个SQL服务器上并且不希望沿着动态查询路线走下去。

感谢您对您的所有投入

+0

这就像你要_unpivot_原始表看起来对我来说。您使用的是哪个数据库(例如MySQL,Oracle等)。在Oracle或SQL Server中这将是相当痛苦的,但在MySQL中更难。 –

+0

感谢Tim的快速反应,这是MS SQL服务器 – OZRiz

您可以使用SQL Server的内置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 
+0

它的工作方式非常神奇!你是一个绝对的明星。再次感谢您的快速响应。 – OZRiz

+0

已经做到了,但我没有足够的布朗尼分数来显示:) – OZRiz

+0

根据建议的查询还有两个问题:如何将缺省状态(例如:QLD作为Quensland)重命名为查询的输出?我怎样才能将各州的预测汇总到更高的水平(例如:国家)?谢谢 – OZRiz