select tb1.a, tb1.b,tb1.c, tb2.w from table1 tb1, table2 tb 2
where tb1.x='nassks' and tb1.y='ssks'
and tb2.x=tb1.x(+) and tb2.y=tb1.y(+)
죄송하지만 위와 같이하게 되면 제가 생각하는 목적과는 조금 다르거든요...
제가 조인이란걸 잘못 이해하고 잇는지..
저는 table2칼럼에 w값이 없더라도 table1 a,b,c값을 모두 가져오고 싶은데
" and tb2.x=tb1.x(+) and tb2.y=tb1.y(+)" 처럼 and를 하게 되면 w칼럼에 값이
없을때는 select가 하나도 안되네요..
+를 사용하면 or나 in은 허락할수 없다는 메세지가 나오구여...
두 sql문을 하나로 합치고 싶어요..
그러면서 table2 w칼럼에 값이 없더라도 table1의 값을 가져올수 있는 문이
잇나해서요..
정말 죄송해여....T.T
>>hanowa 님께서 쓰시길<<
:: select tb1.a, tb1.b,tb1.c, tb2.w from table1 tb1, table2 tb 2
:: where tb1.x='nassks' and tb1.y='ssks'
:: and tb2.x=tb1.x(+) and tb2.y=tb1.y(+)
::
:: 로 할 수 있을 것 같습니다.
:: 다만 테이블 크기가 크고 데이터 양이 많다면 아우터 조인시 느려지는 속도는 감수하셔야 할거구요.
::
:: 더 좋은 방법 있으면 또 알려주시길..
::
:: >>nassks 님께서 쓰시길<<
::
:: ::
:: ::
:: :: 다름이 아니라 조인에 관계된 문제입니다.
:: ::
:: :: select a,b,c from table1 where x='nassks' and y='ssks'
:: :: select w from table2 where x='nassks' and y='ssks'
:: ::
:: :: 이 두개의 문장을 하나로 합할려합니다...
:: :: table2에는 조건에 해당하는 값이 없을수도 있거든여..
:: ::
:: :: ==1> select tb1.a, tb1.b,tb1.c, tb2.w from table1 tb1, table2 tb 2
:: :: ==2> where tb1.x='nassks' and tb1.y='ssks'
:: :: ==3> and tb2.x='nassks' and tb2.y='ssks'
:: ::
:: :: 이렇게 조인을 하고 나니 table2에 조건에 해당하는 값이 없으면 table1의 값도
:: :: 안 가져 오더라구여...
:: :: table2에 조건에 해당하는 값이 없어도 table1의 값을 가져올수 있는 sql문을
:: :: 하나로 합칠려면?
:: ::
:: :: 고수님들 답변부탁해요..
:: :: 워낙 허접해서여..
|