给定一个包含字段A和B的表:
| A | B |
---------
| 1 | p |
| 1 | f |
| 1 | t |
| 2 | p |
| 2 | f |
Run Code Online (Sandbox Code Playgroud)
我正在尝试构建一个查询,找到所有A的某个地方也没有't'.
所以对于这个数据,输出应该是
| A |
-----
| 2 |
Run Code Online (Sandbox Code Playgroud)
因为2在字段B中的任何地方都没有列出
我尝试过SELECT DISTINCT A FROM table WHERE B!='t',但是这个逻辑是有缺陷的,因为1还包含一行B!='t'.我也尝试了各种各样的变化GROUP BY,但我被卡住了.
请帮忙
我会使用group by并having为此:
select a
from t
group by a
having sum(b = 't') = 0;
Run Code Online (Sandbox Code Playgroud)