0

我知道标题似乎微不足道,但问题比乍一看要深一些。

我有以下3个表结构:

user:  id, name
group: id, name
group_members: id, idUser, idGroup

group一个 id=1 的超级管理员。

我需要选择属于该组的所有用户。然而,棘手的部分是当他们订阅超级管理员组和其他组时。我尝试了 LEFT JOIN 和 JOIN,但它们被包含在这种情况下。如果他们订阅了超级管理员组,我想从结果中排除他们,不管他们是否订阅了其他组。

4

2 回答 2

1

没有子查询

select idUSER from group_members
group by iduser
having sum(if(idgroup=1,1,0))=0
于 2013-10-09T14:04:03.910 回答
1
SELECT * FROM user
WHERE id NOT IN
(SELECT idUser FROM group_members WHERE idGroup = 1)
于 2013-10-09T13:54:01.817 回答