MS SQL Server 2012Transposer certaines colonnes à l'aide des lignes pivot avec SQL
J'ai une table appelée indexrows
name displayname propertyvalue
abc $row1 agg
abc $row2 spx
abc $row3 qqq
def $row1 spx
def $row2 qqq
Je voudrais transposer ces résultats pour ressembler à ceci.
name $row1 $row2 $row3
abc agg spx qqq
def spx qqq
J'ai essayé la requête suivante sans succès. Je reçois cette erreur
Msg 156, niveau 15, état 1, ligne 10 Syntaxe incorrecte près du mot clé 'pour'.
select *
from (
select
name,propertyvalue, displayname
from indexrows
) a
PIVOT
(
propertyvalue
for [displayname] in ('$row1', '$row2', '$row3')
) as pivot
Toute aide est appréciée.
anon-je obtenir l'erreur suivante avec votre requête Msg 156, Niveau 15 , State 1, Line 11 Syntaxe incorrecte près du mot clé 'pivot'. –
J'ai négligé la troisième erreur dans votre exemple original: en utilisant le mot-clé «pivot» comme un alias. Ce n'est pas toujours une erreur, mais c'est toujours une mauvaise idée. – Anon