이런 상황에서 어떤 쿼리를 날려야 합니까? 0 1 2,101

by 볼우물 [SQL Query] 컬럼값 비교 [2010.06.14 23:21:51]



한테이블(TAB)에서
A컬럼에 들어가는 값은 B컬럼에 따라 달라집니다.
B가 1일 때 A가 1이라고 하면
B가 2이면 A는 1이 되서는 안됩니다.
B가 3일 때도 A는 1이 되서는 안됩니다.
그런데 지금 테이블이 B가 1인 것과 2인 것의 A컬럼 값이 같은게 많이
생겨버렸는데
이걸 추출하고 싶은데 어떤 쿼리를 날려야 하나요?

저는
SELECT A, MIN(B), MAX(B) FROM TAB
GROUP BY A
HAVING MIN(B) <> MAX(B)
이렇게 쿼리를 날렸는데
여기서 몇개의 건을 찾아서 SELECT날리면 맞게 나온 것 같은데
운영 db라서 신중히 날려야 할 것 같습니다.

저 쿼리로 하면 맞는지 아니면 더 나은 쿼리가 있는지 좀 알려주십시오.
by 마농 [2010.06.15 08:21:22]
설명이 조금 모호한 면이 있습니다.
결국 a 값은 b값과는 상관 없이 중복이 있으면 안된다는 말 아닌가요?
b값과 상관이 있는 것이 맞는지요?
b=1, a=1 인자료가 여러건 존재할수도 있다면 b값과 상관이 있다고 불수도 있겠는데요.
그런게 아니라면 b와는 상관이 없는것이 아닐까? 생각되네요.
b값과는 상관 없다면 Having Count(*) > 1 로 체크하시면 됩니다.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입