我想知道如何编写查询以从where子句中获取精确值。例如,有一个表具有以下数据
USER ACCESS
A DEFAULT
A EVERYONE
B DEFAULT
B EVERYONE
B WEBACCESS
SQL查询应该以输出仅带入USER A的方式编写。我尝试过使用group by并检查记录的数量,但它给我带来了两个用户。
提前致谢!
答案 0 :(得分:0)
我猜你正在将信息存储在不同的行上,而你正试图"合并"每个用户的结果。如果是这样,你可以这样做:
select userid
from t
group by userid
having sum(case when access = 'EVERYONE' then 1 else 0 end) > 0 and
sum(case when access = 'DEFAULT' then 1 else 0 end) > 0 and
count(distinct access) = 2;