LEFT OUTER JOIN시 질문 드립니다.. 0 2 2,072

by 스페이드 [SQLServer] [2015.01.07 09:58:32]


left outer.png (10,728Bytes)

안녕하세요. 새내기 입니다.
left outer join 할 때 해결되지 못하는 일이 있어서 질문 드립니다.

TABLE : Aoo, Boo
KEY : ID

select * from Aoo A
left ourer join Boo B
on A.ID = B.ID

A를 기준으로 조인을 하는 경우 입니다.
A가 15개의 행이 출력되고, B가 5개의 행이 출력 된다면
B의 나머지 10개의 컬럼은 값이 복사가 됩니다.

A테이블에는 5개의 행이 있으며,
B테이블에는 2개의 행이 있습니다.

A테이블을 기준으로 조인을 하게 되서
[B.9] 컬럼은 중복되는 모든 값들이 같은 값으로 표기가 되는데요..
저는 1개의 행만 빼고 전부 0으로 채우고 싶습니다.

가능한지도 모르겠고, 아무리 고민해도 방법이 없네요..
도움 부탁 드립니다.

by 마농 [2015.01.07 11:42:09]
SELECT a.id, a.2, a.3, a.4
     , DECODE(ROW_NUMBER() OVER(PARTITION BY a.id ORDER BY a.2, a.3, a.4), 1, b.9, 0) x
  FROM aoo a
  LEFT OURER JOIN boo b
    ON a.id = b.id
;

 


by 스페이드 [2015.01.07 11:54:45]

정말정말 감사합니다!!

 

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