猿问

关于行列转换的问题

44641976a2
44641976b4
44642064a5


一表如上图,

现在要转化为如下格式,即行转化为列

      76a   76b 64a

446419   2        2   null

446420   null  null 5

也试过pivot 但那必须在2,4,5这一数字列聚合,现在我不想聚合只想简单的转化成列不知道怎么办.

 


当年话下
浏览 791回答 2
2回答

喵喔喔

不知道这个能不能适合楼主的实际场景  Code -- 创建测试数据 SELECT '446419' AS Col1, '76a' AS Col2, 2 AS Col3 INTO # UNION SELECT '446419', '76b', 4 UNION SELECT '446420', '64a', 5 -- 工作代码 SELECT Col1, [76a], [76b], [64a] FROM # AS Data PIVOT (     MAX(Col3) FOR Col2 IN ([76a], [76b], [64a]) ) AS PVT ORDER BY Col1 -- 删除测试数据 DROP TABLE #

呼啦一阵风

只知道用case when ,以及count等等,能够实现固定行的 行转列。。。。
随时随地看视频慕课网APP
我要回答