我知道已经有很多关于旋转的问题,但是我找不到任何与我尝试做的事情类似的事情。它甚至可能不是枢轴功能。
我有一个包含两个核心列的表:
ID_no | 项目
它们的设置如下:
我要这样做,以便将项目编号按顺序列为各列。因此,基本上,对于000998571,我需要将各列列出为:
23456 | 31462 | 31234 | 2 | 一世
每个项目都有自己的列。我一直在到处寻找类似的布局,但是找不到适合我的情况的任何东西。任何帮助都将不胜感激。
编辑:关于我想要得到的结果的更多说明:
尝试这个:
DECLARE @t TABLE
(
ID_NO NVARCHAR(MAX) ,
Items NVARCHAR(MAX)
)
INSERT INTO @t
VALUES ( '000998571', '23456' ),
( '000998571', '31462' ),
( '000998571', '31234' ),
( '000998571', '2' ),
( '000998571', '1' ),
( '000998582', '10701' ),
( '000998582', '414214' ),
( '000998582', '75404' ),
( '000998582', '2' ),
( '000998582', 'A' )
SELECT ID_NO ,
[1] AS Item1 ,
[2] AS Item2 ,
[3] AS Item3 ,
[4] AS Item4 ,
[5] AS Item5
FROM ( SELECT * ,
ROW_NUMBER() OVER ( PARTITION BY ID_NO ORDER BY Items ) AS rn
FROM @t
) t PIVOT( MAX(Items) FOR rn IN ( [1], [2], [3], [4], [5] ) ) p
输出:
ID_NO Item1 Item2 Item3 Item4 Item5
000998571 1 2 23456 31234 31462
000998582 10701 2 414214 75404 A
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句