选择不是组成员的用户

时间:2014-01-09 21:19:47

标签: sql-server tsql

我正在尝试获取不属于某个群组成员的用户,以便我可以填写dropDownList以获取邀请。

我正在使用T-SQL执行此操作。

无论如何我要说我有这张桌子:

Username    Group_Id

David       1
Mathias     1
William     1
David       2

我想选择不在第2组的成员,即我只想要Mathias和William,我该怎么做?我已经尝试了一段时间了,而我在谷歌上找不到相关信息......

3 个答案:

答案 0 :(得分:2)

您可以使用带有having子句的聚合执行此操作:

select username
from t
group by username
having sum(case when group_id = 2 then 1 else 0 end) = 0;

having子句计算用户在组2中出现的次数(在本例中),并仅选择出现一次的用户。

答案 1 :(得分:1)

select username 
from t
where groupid not in (2)

答案 2 :(得分:0)

select distinct Username from table  
except 
select Username from table where group_id = 2