2011-07-18 2 views
-1

저는 SQL을 처음 접했고 특정 조건을 충족 할 때만 테이블에서 어떻게 값을 얻을 것인지 궁금합니다.SQL 테이블 검색

은 내가 COL1에서 값을 얻으려면 다음 (쓰레기 서식 죄송합니다)과 같은 테이블

COL1 - COL2 

1 - 3 
1 - 2 
2 - 2 
3 - 3 
3 - 4 

을 가지고 있지만 그들은 COL2에서 특정 값이없는 경우에만 가능합니다.

예를 들어 나는 COL2 3,

명확히하기 위해 어떤 도움 2.

감사 것 COL1에서 반환되는 유일한 값, 두 있던 값을하지 않은 경우 그래서 열은 다른 테이블을 참조하는 ID를 저장합니다. COL1의 값만 COL2의 특정 값을 참조하지 않도록하고 싶습니다.

그래서 COL2가 3 인 값을 원하지 않는다면 COL1의 값 '1'이 행 1의 COL2의 값으로 반환되지 않으며 3이 반환되지 않음을 의미합니다. COL1은 행 4에서 COL2가 3과 같기 때문에

+3

"예를 들어 COL2가 3 인 값을 원하지 않으면 COL1에서 반환되는 유일한 값은 2가됩니다." - 게시 한 샘플 데이터에 따르지 않습니다. –

+1

2 주어진 예제에도 있습니다 ... 행 번호 3 .... col1에서 1을 원하는지 여부를 확인하고 편집하십시오. –

+2

귀하가 제공 한 샘플 데이터에 대한 귀하의 질문은 의미가 없으므로 downvote입니다. – psynnott

답변

3

나는 이런 식으로 생각합니다.

select COL1 
from TABLE_FOO 
where COL1 not in (
    select COL1 
    from TABLE_FOO 
    where COL2 = 3 
) 
+0

나는 당신이 그 질문이 우리에게 말해야 할만큼 똑똑한 유일한 사람이라고 생각한다.) 1+ – Jacob

+0

위대한 일 ... 당신의 대답을보고 난 후에 그것은 무엇이 문제인지 명확하다. :) –

+0

+1. 그레이트 추측! – niktrs

0

특정 값은 col2에 하나의 해당 값만있는 레코드를 의미합니다. 2-2는 특정 값을 가지고 있기 때문에 구체적입니다. COL1 갖는 카운트 (COL2)에 의해 C 그룹에서

선택 COL1> 1

상기 질의가 특정 값이없는 모든 COL1 값을 제공한다.