2012-11-19 5 views
4

I는 다음과 같습니다 테이블이 있습니다은 다른 열에서 값을 기준으로 레코드를 제외

| 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을 제외합니다.

이것이 명확하지 않은 경우 알려주십시오.

답변

5

당신은 level3 값과 같은 code 어떤 기록을 제외 할 NOT EXISTS를 사용할 수 있습니다

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

SQL Fiddle with Demo

결과를 참조하십시오

| CODE | LEVEL1 | LEVEL2 | LEVEL3 | SEC_ID | 
--------------------------------------------- 
| CODE1 | LEV1 | LEV2 | LEV3 | 123456 | 
| CODE3 | LEV1 | LEV2 | LEV3 | 456123 | 
+0

덕분에 bluefeet, 그것을 행한! – GreenyMcDuff

+1

@ user1127683 도움이된다면이 답이 도움이 될 경우 왼쪽의 체크 표시를 통해 동의하십시오. – Taryn

관련 문제