查询表A中满足这些条件的数据:存在两条数据字段a相同,且一条数据的b字段为好,另一条数据的b字段为坏,且在表C中不存在表C的字段c等于表A的字段a的字段,且这两条数据的je字段合计为0
时间: 2024-03-03 20:47:49 浏览: 17
可以使用如下 SQL 语句查询表 A 中满足这些条件的数据:
```
SELECT a.*
FROM A a
INNER JOIN (
SELECT a1.a, SUM(a1.je) AS total_je
FROM A a1
WHERE a1.b IN ('好', '坏')
GROUP BY a1.a
HAVING COUNT(*) = 2
) a2 ON a.a = a2.a
LEFT JOIN C c ON a.a = c.c
WHERE a.b IN ('好', '坏')
AND a.je <> 0
AND a2.total_je = 0
AND c.c IS NULL;
```
其中,`A` 表为需要查询的表,`B` 表为 `A` 表中的一个字段,`C` 表为需要排除的表,`C` 表中的 `c` 字段需要与 `A` 表中的 `a` 字段做比较。
具体查询条件如下:
1. `a1.b IN ('好', '坏')`:选择 `A` 表中 `b` 字段值为 '好' 或 '坏' 的数据;
2. `GROUP BY a1.a HAVING COUNT(*) = 2`:按照 `a` 分组,选择有两条数据的分组;
3. `a.je <> 0`:选择 `A` 表中 `je` 字段不等于 0 的数据;
4. `a2.total_je = 0`:选择两条数据的 `je` 字段合计为 0 的分组;
5. `c.c IS NULL`:排除在 `C` 表中存在与 `A` 表中 `a` 字段值相等的数据。
注意:该查询语句未对 `A` 表中的 `a` 字段和 `b` 字段添加索引,如果数据量较大时可能会有性能问题,建议根据实际情况添加索引。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)