SQL Query用于获取精确值

时间:2016-08-02 14:44:09

标签: sql

我想知道如何编写查询以从where子句中获取精确值。例如,有一个表具有以下数据

USER    ACCESS
A       DEFAULT
A       EVERYONE
B       DEFAULT
B       EVERYONE
B       WEBACCESS

SQL查询应该以输出仅带入USER A的方式编写。我尝试过使用group by并检查记录的数量,但它给我带来了两个用户。

提前致谢!

1 个答案:

答案 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;