Q&A

  • outer join에 관해...
거래처, 사원, 품목,... 전표 화일이 각각 있습니다.. paradox화일이구요..
거래처나 사원, 품목등의 기초마스터화일에는 코드를 비롯하여 필요 정보들이 있구요 전표화일에는 각 기초 마스터의 코드만 기록해 놓았습니다...
그런데 전표에는 코드가 있을수도 있고 없을수도 있습니다...
즉 아래처럼 레코드가 구성될수 있어요...
거래처  사원  품목 ,,,,,
0001     001    0001
0002              0002
                    0003
          :
          :
이럴경우 sql에서 거래처 a, 사원 b, 품목 c 단순히 이렇게 해서 where를 사용했을경우는 정상적인 표시가 이루어지지 않기에 천상 outer join을 사용해야 하는데 책이나 기타 설명하는 곳에는 두 파일의 outer join에 관해서만 설명했지 세개이상일경우는 어떻게 해야 하는지 설명이 없더군요...
아예 안되는 건지...
고수님들에 설명을 기다리고 있겠습니다...^^
1  COMMENTS
  • Profile
    열심히 2003.07.09 01:15
    아웃 조인을 하기 위해서는 기준이 필요합니다.

    조인조건이 어떻게 되던간에 한쪽 방향으로만 되어야 합니다.

    만약에 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.품목코드(+)

    이런식으로 짜시면 되겠네요