sql-server - 仅从 SQL Server 中的表中选择具有常见状态的行

标签 sql-server

我的表格如下:

ID CustomerID  AccountNumber StatusID
-------------------------------------
1     300          300100       1
2     300          300200       3
3     300          300300       3
4     400          400100       1
5     400          400200       1
6     500          500100       1

状态ID:

  • 1 = 已批准
  • 3 = 待处理

现在,我需要选择帐户已获批准的所有客户(没有待处理的客户),但不选择帐户仍处于待处理状态的客户。

如果您需要我提供更多详细信息,请告诉我。

最佳答案

按客户分组,仅选取那些没有 status <> 1 的客户

select customerID
from your_table
group by customerID
having sum(case when status <> 1 then 1 else 0 end) = 0

关于sql-server - 仅从 SQL Server 中的表中选择具有常见状态的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41423915/

相关文章:

c# - ASP.NET C# 在 SQL Server 数据库表中搜索

sql-server - 使用 MSSQL 从 varchar 中删除第一个前导 0

sql-server - SQL 中 VARCHAR 的 String.IsNullOrEmpty 类似函数?

mysql - SQL Select Data 具有多行条件

sql-server - SQL Server 2008 的 sp_generate_inserts

c# - 存储过程不会将控制返回给 C# 代码

mysql - 允许在 HAVING 子句中使用别名的性能影响

sql-server - 40 个字符的字符串 : Would it make a difference if I use VARCHAR(4000) instead of VARCHAR(40)?

sql-server - SQL Server 中的动态枢轴

sql-server - SQL Server,在 LIKE 语句中组合 % 和 [] 通配符