2016-12-13 1 views
1

값이 음수 인 행을 필터링해야합니다. 나는. 하나의 열이 일치하는 모든 행을 제거하고 부정적인 값을 가진 두 행이 필요합니다. 즉부정한 행을 필터링하는 쿼리

ID, Val, Details 
0, 4, "Details 0 1..." 
1, 5, "Details 1 1..." 
1, 7, "Details 1 2..." 
1, -5, "Details 1 3..." 
2, 9, "Details 2 1..." 

에서 I는 ...

ID, Val, Details 
0, 4, "Details 0 1..." 
2, 9, "Details 2 1..." 
행 1,5- 때문에

... 1, -5 원하는 ID 잘못된 것을 표시하는 부정 것이다. 나는 이것을하기위한 깨끗한 방법을 찾기 위해 고심하고있다. 그 ID를 확인하기 위해

+1

이유는 예상 된 결과 – TheGameiswar

+0

에 포함되지 1,7 인 ID에 대한 음 (-)의 값이 있으면 그 때문에 모든 값 ID는 무시해야합니다. – Hector

답변

5

사용 NOT EXISTS는 "값을 부정"하지 않습니다

select * 
from tablename t 
where not exists (select 1 from tablename t1 
        join tablename t2 
         on t1.ID = t2.ID and t1.Val = -t2.Val 
        where t1.ID = t.ID) 
+0

감사합니다. 꽤 효과가있을 것입니다. 테스트를 거치면 승인 된 것으로 표시됩니다. – Hector

관련 문제