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
jika jumlah groupa tetap, kueri di atas akan berfungsi.
Sunting:Menggunakan pivot
select * from
(select name, id , groupa from tablename)
pivot xml (
max(groupa) for groupa in
(select distinct groupa from tablename)
)
Terima kasih atas solusinya. Saya hampir sampai. Inilah yang saya dapatkan setelah menjalankan kueri ini. Sebenarnya ada 53 GROUPS yang berbeda sehingga menambah 53 kolom tetapi jumlah maksimum grup yang ditetapkan untuk pengguna adalah 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
Bagaimana cara mendapatkan hasil seperti ini...
NAME ID GROUP_1 GROUP_2 GROUP_3
James 20 A H
Michael 30 A B E
Bagaimana cara mendapatkan hasil seperti yang saya sebutkan dalam pertanyaan? Terima kasih,