2009-12-31 7 views
2

J'ai une table comme suitAide PIVOT

Name  |   Words 
A    words for A1 here 
B    words for B1 here 
C    words for C1 here 
A    words for A2 here 
B    words for B2 here 
C    words for C2 here 

Je veux faire pivoter le tableau ci-dessus pour obtenir le résultat suivant

A     |  B     |  C 
words for A1 here  words for B1 here   words for C1 here 
words for A2 here  words for B2 here   words for C2 here 

Merci

+0

Comment on sait quel ensemble de mots est A1 et lequel est A2? –

Répondre

5
With Numbered as 
(
select *, ROW_NUMBER() OVER (PARTITION BY Name ORDER BY Words) AS RowNum 
from yourTable) 
select [A],[B],[C] 
from Numbered n 
pivot (max(Words) for Name in ([A],[B],[C])) p 
; 
0
select A, B, C from 
(
    select Name, CAST(Words as nvarchar(1000)) as Words from DemoTable 
) up 
pivot (Max(words) for Name in (A, B, C)) as pvt 
+0

Cela ne vous donnera qu'une seule ligne. Vous avez besoin du champ supplémentaire pour fournir des lignes supplémentaires. –

+0

-1 Cette réponse ne ferait que renvoyer une seule ligne –