SQL Query用于查找连接表中没有特定组ID的用户

Dyv*_*vel 4 mysql sql select join

我有一个名为jos_user_usergroup_map的表,它有2列:user_id和group_id

用户可以是多个组的成员,因此在该表中具有多个行,每个行具有组ID,例如

user_id|group_id
62     | 1
62     | 4
62     | 12
108    | 1
Run Code Online (Sandbox Code Playgroud)

我想找到所有没有group_id = 12的user_id,但它让我头疼...

在上面的例子中,我应该只找到user_id = 108

任何想法如何做到这一点?任何帮助表示赞赏.

谢谢

Sah*_*hah 6

试试这个:

SELECT DISTINCT A.user_id
FROM jos_user_usergroup_map A 
LEFT OUTER JOIN jos_user_usergroup_map B ON A.user_id = B.user_id AND B.group_id = 12 
WHERE B.user_id IS NULL;
Run Code Online (Sandbox Code Playgroud)