모두들 즐프 하고 계시져 ??
변변한 SQL 책이 없어서 고민하다가...
이렇게 질문을 드립니다.
질문 1. 오라클 마스터/디테일관계에 마스터는 있는데 디테일에 DATA가
하나도 없는경우를 검색하는 쿼리문.
질문 2. 마스터의 총 금액(필드를 F_TOT라고 가정)과 디테일의 데이터를
모두 합한금액(필드를 F_KUMK라고 가정)이 틀린경우에
마스터 데이타를 뽑아내는 쿼리문.
즉 디테일의 F_KUMK를 모두 더한금액 <> 마스터의 F_TOT 인경우
부디 고수,중수,하수 여러분의 선처를 바랍니다.
읽어주셔서 감사하고여.... 즐건 하루 되세여...
....................FOREVER K D D G..................
고수,중수,하수중에 하수가 훈수를 두어 봤습니다...
잘될란지 모르지만... 한번 해보세요...
질문 1. 오라클 마스터/디테일관계에 마스터는 있는데 디테일에 DATA가
하나도 없는경우를 검색하는 쿼리문.
SELECT * FROM 마스터 WHERE EXISTS
(SELECT 키필드1,키필드2 FROM 디테일);
또는
SELECT * FROM 마스터 WHERE (키필드1,키필드2) NOT IN
(SELECT 키필드1,키필드2 FROM 디테일)
결과속도는 첫번째가 빠름니다...
질문 2. 마스터의 총 금액(필드를 F_TOT라고 가정)과 디테일의 데이터를
모두 합한금액(필드를 F_KUMK라고 가정)이 틀린경우에
마스터 데이타를 뽑아내는 쿼리문.
즉 디테일의 F_KUMK를 모두 더한금액 <> 마스터의 F_TOT 인경우
SELECT * FROM 마스터 a,
(SELECT 키필드1,키필드2,SUM (F_KUMK) F_KUMK FROM 디테일
GROP BY 키필드1,키필드2) b
WHERE a.키필드1 = b.키필드1
and a.키필드2 = b.키필드2
and a.F_TOT <> b.F_KUMK;