select name,id,
max(case when groupa = 'A' then groupa end) as group1,
max(case when groupa = 'B' then groupa end) as group2,
max( case when groupa = 'C' then groupa end) as group3
from tablename
group by name, id
wenn die Anzahl der Gruppen festgelegt ist, würde die obige Abfrage funktionieren.
Bearbeiten:Mit Pivot
select * from
(select name, id , groupa from tablename)
pivot xml (
max(groupa) for groupa in
(select distinct groupa from tablename)
)
Danke für die Lösung. Ich bin fast da. Dies ist, was ich bekomme, nachdem ich diese Abfrage ausgeführt habe. Tatsächlich gibt es 53 verschiedene GRUPPEN, also werden 53 Spalten hinzugefügt, aber die maximale Anzahl von Gruppen, die einem Benutzer zugewiesen werden, beträgt 5.
NAME ID A B C D E F G H
James 20 A null null null null null null H
Michael 30 A B null null E null null null
Wie bekomme ich solche Ergebnisse...
NAME ID GROUP_1 GROUP_2 GROUP_3
James 20 A H
Michael 30 A B E
Wie erhalte ich mein Ergebnis, wie ich es in der Frage erwähnt habe?Danke,