I have 2 tables [user] and [userrights]
[user]
id name
1 test1
2 test2
[usergroups]
id name
1 member
1 admin
1 18
2 new
2 16
And I wanted to have this results
id name group1 group2 group3
1 test1 member admin 18
2 test2 new 18 null
I tried this but I think it is the wrong way
SELECT *,IF(rightname = 'Member', 'Member', NULL) as status
FROM user,userrights
where user.iduser = userrights.iduser
with this I get these results
id name rights member
1 test1 member member
1 test1 admin null
1 test1 18 null
i also tried this
SELECT user.iduser,GROUP_CONCAT(rightname) as groups FROM user,userrights where user.iduser = userrights.iduser GROUP BY iduser;
so i get a much better result
id groups
1 member,admin,18
2 new,16
but i wanted to have for each group a new column