sql - SQL Server - 加入问题
问题描述
我有一个包含以下行的表:
部分 ID | 部分状态 |
---|---|
1 | 已分配 |
1 | 得到正式认可的 |
2 | 已分配 |
2 | 已分配 |
3 | 已分配 |
现在我想获取 al SectionStatus 属于该 SectionId 的 SectionId 未被批准。
上表的预期结果:1,2,3
另一个例子 :
部分 ID | 部分状态 |
---|---|
1 | 得到正式认可的 |
1 | 得到正式认可的 |
2 | 已分配 |
2 | 已分配 |
3 | 已分配 |
上表的预期结果:2,3
解决方案
HAVING
这看起来像在子句中带有条件计数的聚合。
SELECT t.SectionId
FROM yourtable t
GROUP BY t.SectionId
HAVING COUNT(CASE WHEN t.SectionStatus = 'Approved' THEN 1 END) = 0;
推荐阅读
- android - 为什么我的图片无法在 Recyclerview 中加载
- c# - 授权不使用 azure SQL 的角色
- typescript - 从 Partial 类型中排除空对象
- mysql - 数据库 [mysql2] 未配置,laravel >5
- c# - 对象没有出现在 Hololens 中 Vuforia 标记的顶部/中心,如何解决?
- postgresql - Postgres pg_catalog 常量查找的策略
- javascript - 身体背景模糊功能无法普遍运作
- .net - 将 AllowAnonymousAttribute 与 Swashbuckle 一起使用
- html - 使用 rvest 抓取 - 无法识别 html 节点
- python - 对遗留的 Python 应用程序进行 docker 化