我正在尝试获取不属于某个群组成员的用户,以便我可以填写dropDownList以获取邀请。
我正在使用T-SQL执行此操作。
无论如何我要说我有这张桌子:
Username Group_Id
David 1
Mathias 1
William 1
David 2
我想选择不在第2组的成员,即我只想要Mathias和William,我该怎么做?我已经尝试了一段时间了,而我在谷歌上找不到相关信息......
答案 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