我有一个包含客户信息的表。此表包含针对每个客户端的许可证类型信息。
我希望查询此表只查找许可证类型为2或1且没有其他内容的客户端的记录。客户端可以拥有类型1,2和3的许可证,此类客户端不应符合结果集的条件。
感谢您对此的任何帮助。
答案 0 :(得分:1)
您可以使用group by
和having
:
select clientid
from t
group by clientid
having sum(case when licensetype not in (1, 2) then 1 else 0 end) = 0;
having
子句计算每个客户端不可接受的许可证类型的数量。 = 0
表示没有。
编辑:
也许这真的能满足您的需求:
having max(licensetype) = 2 and
min(licensetype) >= 1 -- not clear if this is necessary