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인데 이렇게되면 거꾸로 된거 아닌가요??
그게 맞는지두 모르겠네요..
가르쳐주세요... 지발....
> 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와는 반대죠)