我有一个看起来像这样的表:
| CODE | LEVEL1 | LEVEL2 | LEVEL3 | SEC_ID |
| CODE1 | LEV1 | LEV2 | LEV3 | 123456 |
| CODE2 | LEV1 | LEV2 | LEV3 | 234561 |
| CODE2 | LEV1 | LEV2 | Term | 345612 |
| CODE3 | LEV1 | LEV2 | LEV3 | 456123 |
Run Code Online (Sandbox Code Playgroud)
我需要我的查询在列中查找单词"Term" Level3,然后排除具有相同的每一行CODE.
因此,在上面的示例中,查询将从结果中排除第2行和第3行.
如果不清楚,请告诉我.
您可以使用NOT EXISTS以排除任何具有level3值和相同的记录code:
select *
from yourtable t1
where not exists (select *
from yourtable t2
where level3 = 'Term'
and t1.code = t2.code)
Run Code Online (Sandbox Code Playgroud)
结果:
| CODE | LEVEL1 | LEVEL2 | LEVEL3 | SEC_ID |
---------------------------------------------
| CODE1 | LEV1 | LEV2 | LEV3 | 123456 |
| CODE3 | LEV1 | LEV2 | LEV3 | 456123 |
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2718 次 |
| 最近记录: |