Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何选择不属于用户组的用户的结果集_Mysql - Fatal编程技术网

Mysql 如何选择不属于用户组的用户的结果集

Mysql 如何选择不属于用户组的用户的结果集,mysql,Mysql,我有两个表,第一个是用户表 id username 1 xyz 2 abc 和一个用户组表 user_id group_id 1 2 1 3 1 5 2 2 2 3 我想选择一个不属于组id 5的用户结果集。首先,所有用户id都在组5中。然后列出所有用户,排除这些用户 SELECT DISTINCT user.username FROM user

我有两个表,第一个是用户表

id  username 

1   xyz

2   abc
和一个用户组表

user_id     group_id

1            2

1            3

1            5

2            2

2            3

我想选择一个不属于组id 5的用户结果集。

首先,所有用户id都在组5中。然后列出所有用户,排除这些用户

SELECT DISTINCT user.username FROM user 
JOIN usergroup ON usergroup.user_id = user.id 
WHERE usergroup.group_id != 5
SELECT * FROM user WHERE id NOT IN (
  SELECT user_id
  FROM group
  WHERE group_id  = 5
);

它将带来这两个值,因为用户_id 1属于其他组also@Ryandecosta那么
独立的
呢?您希望每个用户都有一行还是重复的?如果是单行,则所有用户组都应显示在结果集中或任何特定的结果集中。