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
nếu số lượng nhóma được cố định, truy vấn trên sẽ hoạt động.
Chỉnh sửa:Sử dụng pivot
select * from
(select name, id , groupa from tablename)
pivot xml (
max(groupa) for groupa in
(select distinct groupa from tablename)
)
Cảm ơn vì giải pháp. Tôi gần như có. Đây là những gì tôi nhận được sau khi chạy truy vấn này. Trên thực tế, có 53 NHÓM khác nhau, vì vậy nó đang thêm 53 cột nhưng số nhóm tối đa được chỉ định cho một người dùng là 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
Làm cách nào để nhận được kết quả như thế này ...
NAME ID GROUP_1 GROUP_2 GROUP_3
James 20 A H
Michael 30 A B E
Làm cách nào để nhận được kết quả như tôi đã đề cập trong câu hỏi? Cảm ơn,