두 컬럼 outer join 질문 0 2 1,852

by lover [SQL Query] [2013.08.29 14:58:32]



안녕하세요.
두 테이블 의 두 컬럼 간의 아우터 조인이 잘 안되네요..


============
예상결과
============

a.column1 a.column2    b.column1   b.column2
-------------------------------------------------------------------------
1  1    null    null
1 1    1   null


a, b 두 테이블 간의 차이 나는 값이 있는지 구하고자 합니다.
a에는 있는데, b테이블에는 없는 값들..

일반적인 경우에는 아래와 같은 조건인데 이 조건이 어긋나는 경우입니다.
a.column1  =  b.column1  and   
a.column2    = b.column2   

// 이런 컨셉인데 에러가 납니다... 아우터조인에 or 도 안되고..원하는 갯수가 안나오네요..
select a.column1, a.column2, b.column1, b.column2
from a,  b
where a.column1= b.column1(+) and
  a.column2= b.column2(+) and  
   b.column1 is null  or b.column2 is null  


어떻게 연산을 해야할지 힌트 부탁드립니다...
by 아린 [2013.08.29 15:10:31]
괄호() 로 묶어주세요.

and b.column1 is null  or b.column2 is null  
=> and (b.column1 is null  or b.column2 is null)

그리고, column1 과 column2 가 key 이면

and b.column1 is NULL  하나만 하셔도 됩니다.

by 마농 [2013.08.29 15:22:33]

널 체크는 한개만 하시면 됩니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입