SQL - 多注册条件查询

标签 sql ms-access

我有以下表结构:

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 类型)。

你们能帮我修改声明吗?

谢谢!!!!

最佳答案

你离成功不远了。使用 MAXMIN 函数。

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/

相关文章:

mysql - 将值传递给可能为空的查询

java - Java 中的 "undefined symbol: SQLAllocEnv"错误

php - 对两个表的 SQL 结果进行排序

SQL:如何格式化小数,包括小于 1 的小数

ms-access - Access VBA 代码以打印每条记录的单个 PDF - 在第 10 条记录处停止

java - java客户端应用程序的ms access数据库的锁定机制用于多表更新

ms-access - Access 2007 vba 空

java - 如何使用 Java 通过 LAN 连接到 Access 数据库?

sql - 为查询中的每个结果调用表值函数

sql - 添加 DATETIME 列的 Alter Table 语法是什么样的?