Q&A

  • 이.. 쿼리좀 갈켜줘여..
table1

문서번호

내용

등록자ID(사원ID)

수정자ID(사원ID)



table2

사원ID

사원이름



이렇게있습니다.



두 테이블을 조인해서 결과를 가져오는데..



select a.문서번호, b.사원이름, c.사원이름

from table1 a, table2 b, table2, c

where a.등록자ID = b.사원ID

and a.수정자ID = c.사원ID



라고 하는게 맞겠죠..

근데 table1의 레코드에 등록자ID에대한 table2의 사원ID가 없을경우

조회결과가 않나오거든요..

table1의 등록자ID,수정자ID가 table2에 존재해야만 검색됩니다.



이럴경우에



select a.문서번호, b.사원이름, c.사원이름

from table1 a, table2 b, table2, c

where a.등록자ID (+)= b.사원ID

and a.수정자ID (+)= c.사원ID

이렇게 하면 한테이블에서 두테이블로 아우터조인이라서 에러나구



select a.문서번호, b.사원이름, c.사원이름

from table1 a, table2 b, table2, c

where b.사원ID (+)= a.등록자ID

and c.사원ID (+)= a.수정자ID

이렇게 하면 결과가 제대루 나오는데 이게 맞는건지 몰겠네요.



검색되어지는 주대상이 table1인데 이렇게되면 거꾸로 된거 아닌가요??

그게 맞는지두 모르겠네요..

가르쳐주세요... 지발....







1  COMMENTS
  • Profile
    나그네 2001.05.31 00:21
    레콩 wrote:

    > table1

    > 문서번호

    > 내용

    > 등록자ID(사원ID)

    > 수정자ID(사원ID)

    >

    > table2

    > 사원ID

    > 사원이름

    >

    > 이렇게있습니다.

    >

    > 두 테이블을 조인해서 결과를 가져오는데..

    >

    > select a.문서번호, b.사원이름, c.사원이름

    > from table1 a, table2 b, table2, c

    > where a.등록자ID = b.사원ID

    > and a.수정자ID = c.사원ID

    >

    > 라고 하는게 맞겠죠..

    > 근데 table1의 레코드에 등록자ID에대한 table2의 사원ID가 없을경우

    > 조회결과가 않나오거든요..

    > table1의 등록자ID,수정자ID가 table2에 존재해야만 검색됩니다.

    >

    > 이럴경우에

    >

    > select a.문서번호, b.사원이름, c.사원이름

    > from table1 a, table2 b, table2, c

    > where a.등록자ID (+)= b.사원ID

    > and a.수정자ID (+)= c.사원ID

    > 이렇게 하면 한테이블에서 두테이블로 아우터조인이라서 에러나구

    >

    > select a.문서번호, b.사원이름, c.사원이름

    > from table1 a, table2 b, table2, c

    > where b.사원ID (+)= a.등록자ID

    > and c.사원ID (+)= a.수정자ID

    > 이렇게 하면 결과가 제대루 나오는데 이게 맞는건지 몰겠네요.

    >

    > 검색되어지는 주대상이 table1인데 이렇게되면 거꾸로 된거 아닌가요??

    > 그게 맞는지두 모르겠네요..

    > 가르쳐주세요... 지발....

    >

    >

    >

    애초에 반대로 알고 있었군요

    두번째 쿼리가 원래 맞는 듯...(orcle은 sql-server와는 반대죠)