我觉得它如此微不足道,但我还是坚持了这一点:Mysql的与GROUP BY + IF +左+加入GROUP_CONCAT
SELECT u.id, u.name,
IF(s.prod_id=0, 1,NULL) as amount,
IF(s.prod_id=92, 2,NULL) as amount2,
IF(s.prod_id=116, 3,NULL) as amount3,
IF(s.prod_id=134, 4,NULL) as amount4
FROM table_user u
LEFT JOIN table_user_status s ON s.user_id = u.id
where s.prod_id = 0 OR s.prod_id = 92 OR s.prod_id = 117 OR s.prod_id = 134
-- GROUP BY u.id
order by u.id ASC
我得到的是这样的:
22 | Matt | 1|NULL|NULL|NULL
22 | Matt | NULL|2|NULL|NULL
集团后编号我得到22 MATT 1 NULL NULL NULL
,然后下一个记录。
在结束我必须为数据用户GROUP_CONCAT像 22 | Matt | 1,2 |
谢谢!
您在WHERE还需要在选择116和117。我猜一个人是错的? – AjahnCharles