mysql - 如何根据列值过滤结果
问题描述
我的查询中有这个结果集。
+-------------+-------------+-----------+----------+------------------+---------------+----------------+
| Branch Name | Client ID | Name | Loans | Savings Deposits | Time Deposits | Share Capital |
+-------------+-------------+-----------+----------+------------------+---------------+----------------+
| Main Office | 01-029203-1 | Doe, John | 0.00 | 0.00 | 0.00 | 0.00 |
| Main Office | 01-012314-1 | Doe, John | 51200.75 | 61.26 | 15000.00 | 0.00 |
| Main Office | 01-929828-3 | Doe, Jane | 3000.00 | 0.00 | 8000.00 | 0.00 |
| Main Office | 01-992830-4 | Doe, Jane | 5240.44 | 46.00 | 2000.00 | 0.00 |
+-------------+-------------+-----------+----------+------------------+---------------+----------------+
我想过滤掉某个客户名称的其中一个客户 ID(例如:Doe,John,客户 ID 为 01-029203-1)在所有 4 个账户(贷款、储蓄存款、定期存款和股票)上的余额为 0 Capital),该客户的所有实例将不包括在内。
像这样:
+-------------+-------------+-----------+----------+------------------+---------------+----------------+
| Branch Name | Client ID | Name | Loans | Savings Deposits | Time Deposits | Share Capital |
+-------------+-------------+-----------+----------+------------------+---------------+----------------+
| Main Office | 01-929828-3 | Doe, Jane | 3000.00 | 0.00 | 8000.00 | 0.00 |
| Main Office | 01-992830-4 | Doe, Jane | 5240.44 | 46.00 | 2000.00 | 0.00 |
+-------------+-------------+-----------+----------+------------------+---------------+----------------+
我已经尝试过使用where
andhaving
子句,但我不知道如何。
解决方案
一种选择,使用四列的总和:
SELECT *
FROM yourTable t1
WHERE NOT EXISTS (SELECT 1 FROM yourTable WHERE t1.Name = t2.Name AND
Loans + `Savings Deposits` + `Time Deposits` + `Share Capital` = 0);
该答案通过搜索每条记录是否可以找到任何具有相同名称且所有帐户总和为零的记录来起作用。如果是,则该名称无效,并且所有此类名称记录都不会出现在结果集中。
推荐阅读
- react-native - 如何更改 MaterialTopTabNavigator 中选项卡的高度?
- angular-material - NG8001:'mat-table' 不是已知元素:
- javascript - 单击时如何更改div宽度?
- sql - SQL 更新语句从前一行获取一列
- php - 根据使用 ajax 的按钮传递的值更新 div
- terraform - 如何为 aws_organizations_organizaation 导入 terraform 数据源
- docker - 如何在 Kubernetes 中替换正在运行的镜像?
- javascript - 无法在网页上进行可折叠工作
- ruby-on-rails - Oracle on Rails [Windows 10]
- c++ - clang++ 没有找到我的模板函数定义