거래처, 사원, 품목,... 전표 화일이 각각 있습니다.. paradox화일이구요..
거래처나 사원, 품목등의 기초마스터화일에는 코드를 비롯하여 필요 정보들이 있구요 전표화일에는 각 기초 마스터의 코드만 기록해 놓았습니다...
그런데 전표에는 코드가 있을수도 있고 없을수도 있습니다...
즉 아래처럼 레코드가 구성될수 있어요...
거래처 사원 품목 ,,,,,
0001 001 0001
0002 0002
0003
:
:
이럴경우 sql에서 거래처 a, 사원 b, 품목 c 단순히 이렇게 해서 where를 사용했을경우는 정상적인 표시가 이루어지지 않기에 천상 outer join을 사용해야 하는데 책이나 기타 설명하는 곳에는 두 파일의 outer join에 관해서만 설명했지 세개이상일경우는 어떻게 해야 하는지 설명이 없더군요...
아예 안되는 건지...
고수님들에 설명을 기다리고 있겠습니다...^^
조인조건이 어떻게 되던간에 한쪽 방향으로만 되어야 합니다.
만약에 A, B, C테이블이 있다면
아웃조인이 될수 있는 경우는
A = B(+) and A = C(+) 또는 A = B(+) and B = C(+)
이런 식이란거죠...
조인관계가 부딪히면 안됩니다..
안되는 경우는 이런거죠..
A = B(+) C = B(+)
이런건 안됩니다..
그리고 아래와 같은 경우라면 이렇게 짜야겠네요..
select *
from 전표 A, 거래처 B, 사원 C, 품목 D
where a.거래처코드 = b.거래처코드(+)
and a.사원코드 = c.사원코드(+)
and a.품목코드 = d.품목코드(+)
이런식으로 짜시면 되겠네요