Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

conversão de linha para coluna no sql 2008


Você pode usar a mesma abordagem de rank() e, em seguida, usar a nova função PIVOT da seguinte forma:
with    cusCte as(
select  cusid,cusph1,RANK() over (partition by cusid order by cusph1) r
from    #cusphone)

SELECT cusid, [1] AS C1, [2] AS C2, [3] AS C3
FROM 
(SELECT cusid,cusph1,r
FROM cusCte) p
PIVOT
(
MIN (cusph1)
FOR r IN
( [1], [2], [3] )
) AS pvt;