我有以下表结构:
ID COMPANY PROJECT ACTIVITY TYPE
1 A 1 A1.1 NORMAL
2 A 1 A1.2 NORMAL
3 A 1 A1.3 NORMAL
4 A 2 A2.1 DUMMY
5 A 2 A2.2 DUMMY
6 A 2 A2.3 DUMMY
7 A 3 A3.1 NORMAL
8 A 3 A3.2 DUMMY
9 A 3 A3.3 NORMAL
我的目标是检索公司和项目,其中所有事件(在组合公司 x 项目中)都是虚拟的。
我写了下面的SQL:
SELECT COMPANY, PROJECT
FROM TABLE
GROUP BY COMPANY, PROJECT
HAVING TYPE = 'DUMMY'
但是它不仅带来了公司 A 和项目 2(这是唯一满足我的条件),而且还带来了公司 3 项目 3(hhich 只有一个 DUMMY 类型)。
你们能帮我修改声明吗?
谢谢!!!!
最佳答案
你离成功不远了。使用 MAX
和 MIN
函数。
SELECT COMPANY, PROJECT
FROM TABLE
GROUP BY COMPANY, PROJECT
HAVING MAX(TYPE) = MIN(TYPE) AND
MAX(TYPE) = 'DUMMY'
关于SQL - 多注册条件查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15297216/