daG*_*vis 0 mysql sql join duplicates
SELECT `groups`.`name`, `groups`.`id`
FROM `groups`
JOIN `group_members`
ON (`group_members`.`user_id` = `groups`.`user_id`)
WHERE `groups`.`user_id` = '33'
ORDER BY `groups`.`id`
Run Code Online (Sandbox Code Playgroud)
我需要为他所属的每个组获取组的ID和组名.但结果不能重复!
我的查询返回了很多重复的条目.
在groups
存储那些存在(所有组name
,description
等等).在group_members
是已存储的一些基团(成员的所有用户user_id
,group_id
等等).
如何修改此查询以获得不重复但正确的结果?谢谢你的建议!
编辑:
在groups
没有user_id
.该组的所有成员都存储在group_members
表中.我需要获得用户所在的所有组(组的ID和名称).
如果您想知道一个用户的所有组,您必须加入group_members.group_id
并编辑该WHERE
子句.
SELECT `groups`.`name`, `groups`.`id`
FROM `groups`
JOIN `group_members`
ON (`group_members`.`group_id` = `groups`.`id`)
WHERE `group_members`.`user_id` = '33'
ORDER BY `groups`.`id`
Run Code Online (Sandbox Code Playgroud)