從薩米特的報價
select
ur.userid,
max(case when ur.roleid = 'role1' then 'X' else ' ' end) as role1,
max(case when ur.roleid = 'role2' then 'X' else ' ' end) as role2,
max(case when ur.roleid = 'role3' then 'X' else ' ' end) as role3
from
UserRoles ur
group by
ur.userid
簡體現在,如果你想在用戶的真實姓名,並有相應的用戶表,加入到得到的名稱。
select
u.userName,
max(case when ur.roleid = 'role1' then 'X' else ' ' end) as role1,
max(case when ur.roleid = 'role2' then 'X' else ' ' end) as role2,
max(case when ur.roleid = 'role3' then 'X' else ' ' end) as role3
from
UserRoles ur
JOIN Users u
on ur.userid = u.userid
group by
ur.userid
總角色數是否固定爲三? – GurV
look on http://stackoverflow.com/questions/7674786/mysql-pivot-table –