我正在尝试规范化一些表格。这是我的一张桌子
SalesID|Order1Name|Order1Date|Order1Amt|Order2Name|Order2Date|Order2Amt|Order3Name......Order10xxxx
---------------------------------------------------------------------------
1001 | first | 1/1/18 | 111.00 | second | 2/1/18 | 222.00
我想得到它
SalesID |OrderNum | OrderName | OrderDate | OrderAmt|
------------------------------------------------------------
1001 1 first 1/1/18 111.00
1001 2 second 2/1/18 222.00
1001 .
1001 .
1001 10
我一直在尝试使用 unpivot 运行 - 如何确保我有序数(column2)信息?
我从Aaron Bertrand 的超棒帖子Use SQL Server's UNPIVOT operator to dynamic normalize output中的信息开始。您应该阅读该帖子中的信息,因为 Aaron 很好地解释了该过程。
我不得不对 Aaron 的流程进行一些更改,因为您的列比 Aaron 在他的示例中的列更多。
鉴于您需要取消透视的三列以及源表的结构,我不会为取消透视而烦恼,只需执行以下操作。