sql server数据透视到行 我怎样才能转动这个轴
进入这个 552779 | A-2级1级| G-2级2级O-4级单位sql server数据透视到行 我怎样才能转动这个轴,sql,sql-server,pivot,Sql,Sql Server,Pivot,进入这个 552779 | A-2级1级| G-2级2级O-4级单位 请记住,Allocate可以是86个可能已知字符串集合中的任何字符串值?我是否需要使用Pivot以外的其他技术来执行此操作-新记录上可以有6个字符串的mximum,因为这将是ID与不同字符串关联的最大次数 这在本质上必须是动态的,有6个可能的列,但可能有ID号,其中只有一个字符串与之关联,加上5个空值,另一个ID最多有6个字符串与之关联,以及1-6范围内的各种其他组合 如果您愿意,可以使用pivot作为最后一部分您已经拥有
- 请记住,Allocate可以是86个可能已知字符串集合中的任何字符串值?我是否需要使用Pivot以外的其他技术来执行此操作-新记录上可以有6个字符串的mximum,因为这将是ID与不同字符串关联的最大次数
- 这在本质上必须是动态的,有6个可能的列,但可能有ID号,其中只有一个字符串与之关联,加上5个空值,另一个ID最多有6个字符串与之关联,以及1-6范围内的各种其他组合
如果您愿意,可以使用pivot作为最后一部分您已经拥有的代码在哪里?我应该说,第1列中有数千个id重复,分配字段中有各种字符串,因此行数会很大?@user1491269,哎呀,忘了对行号进行分区。固定的
ID Allocate
552779 A - Level 2 Tier 1
552779 G - Level 2 Tier 2
552779 O - 4 Units
1 2 3
WITH OrderedItems AS (
SELECT ID
,Allocate
,ROW_NUMBER() OVER (PARTITION BY ID ORDER BY Allocate) AS RowNumber
FROM Table
)
SELECT Id
,MAX(CASE WHEN RowNumber = 1 THEN Allocate ELSE NULL END) AS [1]
,MAX(CASE WHEN RowNumber = 2 THEN Allocate ELSE NULL END) AS [2]
...
FROM OrderedItems
GROUP BY Id