5

私はこのようなテーブルを持っています:

| 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   |

列で「用語」という単語を検索しLevel3、同じを含むすべての行を除外するクエリが必要CODEです。

したがって、上記の例では、クエリは結果から行2と3を除外します。

これが明確でない場合はお知らせください。

4

1 に答える 1

6

値が同じNOT EXISTSであるレコードを除外するために使用できます:level3code

select *
from yourtable t1
where not exists (select *
                  from yourtable t2
                  where level3 = 'Term'
                   and t1.code = t2.code)

SQL FiddlewithDemoを参照してください

結果:

|  CODE | LEVEL1 | LEVEL2 | LEVEL3 | SEC_ID |
---------------------------------------------
| CODE1 |   LEV1 |   LEV2 |   LEV3 | 123456 |
| CODE3 |   LEV1 |   LEV2 |   LEV3 | 456123 |
于 2012-11-19T09:52:11.093 に答える