我需要对SQL查询进行分组和转置
我的数据如下:
Titulo | Valor
----------+---------
Cartera | Valor1
Nombre | Valor2
Direccion | Valor3
Cosa | Valor4
Cartera | Valor5
Nombre | Valor6
Direccion | Valor7
Cosa | Valor8
Cartera | Valor9
Nombre | Valor10
Direccion | Valor11
Cosa | Valor12
Cartera | Valor13
Nombre | Valor14
Direccion | Valor15
Cosa | Valor16
我想根据“ Titulo”列对数据进行分组,但转置信息并使其看起来像表格。
示例
Cartera | Nombre | Direccion | Cosa
--------+---------+-----------+-------
Valor1 | Valor2 | Valor3 | Valor4
Valor5 | Valor6 | Valor7 | Valor8
Valor9 | Valor10 | Valor11 | Valor12
Valor13 | Valor14 | Valor15 | Valor16
感谢您的帮助。
答案 0 :(得分:1)
您可以尝试调整结果集:
SELECT pvt.Cartera, pvt.Cosa, pvt.Direccion, pvt.Nombre FROM
(SELECT ROW_NUMBER() OVER(PARTITION BY titulo ORDER BY valor) AS row, titulo, valor FROM @MyTable) AS dt
PIVOT
(MAX(valor) FOR titulo IN ([Cartera], [Nombre], [Direccion], [Cosa])) AS pvt