首页 > 解决方案 > 查找没有状态的记录

问题描述

援助 投标 状态
1 1 1
1 2 3
1 3 3
2 1 0
2 2 3
2 3 3
3 1 3
3 2 0
3 3 3

我正在尝试查找在此示例 AID = 1 中没有任何 0 状态的 AID 记录(将是多个记录)

标签: sqlsql-server

解决方案


如果您想找到所有AID没有0状态记录的,您可以使用

SELECT
    AID
FROM
    mytable
GROUP BY
    AID
HAVING
    COUNT(
        CASE WHEN STATE=0 THEN 1 END
    )=0;
援助
1

或者,如果您想查找状态不是0任何 AID 记录的所有 AID 记录,您可以使用以下命令。

SELECT
     *
FROM
     mytable
WHERE AID NOT IN (
     SELECT AID FROM mytable WHERE STATE=0
)
援助 投标 状态
1 1 1
1 2 3
1 3 3

让我知道这是否适合您。


推荐阅读