转置和分组 sql 结果



我需要对 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

感谢您的帮助。

您可以尝试透视结果集:

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

最新更新