sql-server - 在sql的列中找出不包含特定值的字段
问题描述
我有带有列accountnumbers
和的表帐户Transactiontype
。一个帐号会有多个transactiontypes
. 例如accountnumber
12345 将有transactiontypes
D,E,CI 想找出没有事务类型 D 的帐号。不管它有 E 或 C 事务类型但如果它没有 D 事务,则只有那些特定的帐号应该是捕获。请告知如何实现这一目标?我试过下面的说法
Select accountnumber from table where transactiontype NOT IN('D')
但这正在挑选具有交易类型 E 和 C 的账户。我只想找到没有 D 交易的账户
解决方案
我怀疑你想要一个条件HAVING
子句:
SELECT accountnumber
FROM dbo.YourTable
GROUP BY accountnumber
HAVING COUNT(CASE transactiontype WHEN 'D' THEN 1 END) = 0;
推荐阅读
- python - 如何在python中获取子列表的所有第一项
- office365 - 使用 Excel.createWorkbook(base64) 创建具有自定义名称的工作簿
- firebase - 找不到 com.google.firebase:firebase-analytics-ktx:。要求:项目:app
- angular - NavController 的 pop 和 back 没有按预期返回上一页
- javascript - 带引导程序的图像轮播
- symfony - 包学说/反射被放弃
- html - 文本高度与图像比较
- html - 隐藏文件输入上的标签要垂直对齐
- python - for 循环:为列表中的每个元素运行一个函数,确定 7 天的范围
- javascript - 如何仅在时钟到达特定时间时运行 Chrome 扩展程序