具有多行结果和重复数据的PIVOT



我需要你的建议。

我想把这些行透视到结果有多个重复行的列

:

<表类> line_type line_name tbody><<tr>内部存储1Makloon存储2内部存储1Makloon存储3存储BMakloon存储3

为了保持行之间的分隔,您需要一个不同的值。一种方法是使用ROW_NUMBER()窗口函数在每个枢轴列中分配不同的值。

类似:

SELECT rn, [Internal], [Makloon], [Process]
FROM (
SELECT
[line_type],
[line_name],
ROW_NUMBER() OVER(PARTITION BY line_type ORDER BY line_name) AS rn
FROM 
[table_name]
) pvt
PIVOT (
MAX(line_name)
FOR [line_type] IN (
[Internal],
[Makloon],
[Process]
)
) AS pvt_table
ORDER BY rn;

rn可以从最终选择列表中删除。放在这里是为了说明。

查看此数据库<>提琴

相关内容

  • 没有找到相关文章

最新更新