ORACLE SQL JOIN 쿼리문 질문드립니다.

   조회 4578   추천 0    

 

안녕하세요~

오라클을 공부하다가 잘 풀리지 않는 부분이 있어서 질문드립니다.

JOIN SQL 문인데요...


요렇게 테이블 구조가 되어있습니다.

LINK에서 LINKID에 해당하는 모든 NODEID를 NODEORDER로 정렬시켜서 가져온다음

NODEID에 해당하는 x, y 좌표값을 NODE 테이블에서 가져올려고 합니다.

결과는 NODEID, X, Y 필드가 나오도록 할려고합니다.

 

처음에는 IN을 써서

select * from NODE where NODEID in (select NODEID from LINK where LINKID='1234')

로 생각했었으나... 저렇게하면 NODEORDER를 기준으로 정렬을 못시키니....

 

그래서 책보고 어찌어찌 left outer join 을 써봤는데....

잘 안되네요 ^^

검색도 해보고 몇일동안 책보면서 했는데도 잘 안되서 질문드려봅니다.

 

미리 감사합니다^^

짧은글 일수록 신중하게.
박인호 2016-09
select a.*  from node a
join link b on b.nodeid = a.nodeid
where b.linkid=1234
order by b.nodeorder
     
루비믹스 2016-09
답변 감사합니다. 깔끔하게 나오네요.
Everyharu 2016-09
그냥 join 쓰시면 될거같은데
SELECT A.NODEID, B.X, B.Y FROM LINK AS A INNER JOIN NODE AS B ON A.NODEID=B.NODEID WHERE LINKID='1234' ORDER BY B.NODEID ASC;
그냥 생각나는대로 끄적여봤는데 문법이 맞던가...
     
루비믹스 2016-09
그냥 join 도 제가 책보고도 이해를 잘 못했나 봅니다. 답변 감사합니다~!
박인호 2016-09
쿼리 기본서를 처음부터 끝까지
먼저 익히시길 권합니다.
     
루비믹스 2016-09
사실 필요할때만 부분부분 책 찾아서 참고하였더니 지식이 늘지를 않네요.
박인호님 말씀에 뜨끔하네요. 다시 공부하겠습니다!
일국 2016-09
SELECT LINK.NODEID
    , MIN(NODE.X) N_X
    , MIN(NODE.Y) N_Y
  FROM (SELECT LINK.NODEID
            , LINK.NODEORDER
          FROM LINK
        WHERE LINK.LINKID = '1234'
        ORDER BY LINK.NODEORDER) LINK,
        NODE
 WHERE LINK.NODEID = NODE.NODEID(+)
 GROUP BY LINK.NODEID;


원하는 답이 맞나요?
     
루비믹스 2016-09
위의 쿼리문대로 해보니 GROUP BY 인수가 잘못되었다고 나오는데... 박인호님이 알려주신데로 하니 원하는 답이 나오네요.
신경써서 조언해주신 쿼리문 감사합니다.
제가 반성하고 공부좀 더 하겠습니다^^
김윤술 2016-09
T-SQL +- outer 구문 사용못하게 된지 꽤 되었을겁니다. MSSQL은 2005부터이고 아마 오라클도 해당되지 않을까 싶어요.
     
루비믹스 2016-09
오라클 최신판 구해서 다시 공부해야겠습니다.
쿼리문이라고 다 똑같지 않군요. ^^
꿈돌이 2016-09
SELECT B.LINKID
          ,A.NODEID
          ,B.NODEORDER
          ,A.X
          ,A.Y
FROM  NODE A,LINK B
WHERE  A.NODEID =B.NODEID
AND      B.LINKID='1234'
ORDER BY B.NODEORDER

모바일로 타이핑 치기 힘드네요
NODEID로 조인해서 X,Y값을 보고
NODEORDER로 정렬

개발자는 데이터를 탐색하는 모험가입니다
천천히 시작해보세요


QnA
제목Page 2270/5723
2015-12   1759061   백메가
2014-05   5232335   정은준1
2016-09   5901   한우는한우…
2016-09   5509   kimdo훈
2016-09   8838   은서아빠
2016-09   5254   장동건2014
2016-09   4579   두슬아빠
2016-09   6629   유령E정해준
2016-09   6057   하루카
2016-09   5393   모자란트
2016-09   5158   전산oa
2016-09   5350   박현수
2016-09   4074   김재영
2016-09   4764   Dishy
2016-09   4540   Dishy
2016-09   7073   진검전설
2016-09   4469   들고양이
2016-09   4734   siteop
2016-09   4351   izegtob
2016-09   4478   Jazzy
2016-09   3887   이건희
2016-09   5225   고즈넉