반응형
mysql query

MySQL Query

Select

두 개의 테이블(또는 Self Table)에서 다른 값 찾기

TABLEA 테이블에서 키가 COMPARE_ID이고, F98 필드에 대해서 같은 테이블의 같은 키, 같은 필드의 필드값이 다른 것을 찾는 쿼리
(두 개의 테이블로 할 경우는 테이블 명과 where 조건절만 수정하면 된다.)
비교할 대상의 테이블 두 개를 UNION해서 같은 키 에 대해 정렬하고 그룹별 카운팅을 하면 2개씩 나와야 정상인데, 1개인 것이 바로 다른 부분이다.

SELECT COMPARE_ID, F98
FROM (
SELECT T1.COMPARE_ID, T1.F98 FROM TABLEA T1 WHERE T1.AP_ID='A08v25'
 UNION ALL SELECT T2.COMPARE_ID, T2.F98  FROM TABLEA T2 WHERE T2.AP_ID='A10v25'
 ) t
 GROUP BY COMPARE_ID, F98
 HAVING COUNT(*) = 1
 ORDER BY COMPARE_ID
 

Written with StackEdit.

+ Recent posts