4개의 조인을 어떻게 해야하나요? 0 2 1,253

by 헨씀히포 [Oracle 기초] [2013.02.21 14:19:01]



4개 테이블이 잇습니다
A 테이블
---------------------
no   nme
1 최영미
2 홍길동
3 김수영

B 테이블
-------------------------
no   age
1 32
2  22
3   23

 
C테이블
----------------------------
no   juso
1   경기도 군포시
2 서울 특별시
3  부산 특별시

D테이블
----------------------------
 no   seq     result
1   1 Y
1   2 Y
1   3   N
2   1  Y 


출력
-----------------------------------------------------
no    name age   juso   result
==================================
1   ~~~~~~~~~~~~   N
2   ~~~~~~~~~~~~~~~~ Y
3   ~~~~~~~~~~~   

위처럼 출력이 되어야 하고 D 테이블에서는 똑같은 번호에 seq가 맨마지막에 저장된 것만 출력이 되어야 합니다
그리고  D테이블에 똑같은 번호가 없어도 리스트에 출력은 되어야합니다

어떻게 해야하나요?
by 손님 [2013.02.21 14:51:41]
SELECT A.NO
  ,A.NAME
  ,B.AGE
  ,C.JUSO
  ,D.RESULT
  FROM A
  ,B
  ,C
  ,(
    SELECT NO
  ,MAX(RESULT) KEEP (DENSE_RANK LAST ORDER BY SEQ) RESULT
  FROM D
GROUP BY NO
    )  D
 WHERE A.NO = B.NO
   AND A.NO = C.NO
   AND A.NO = D.NO(+)


by 헨씀히포 [2013.02.21 15:13:01]

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