조인 질문드립니다 0 4 969

by 비디는껌 [2012.09.11 14:22:23]


제목 없음.png (4,990Bytes)
제목 없음1.png (10,748Bytes)


   SELECT
   INFO.*
   ,B.*
  FROM
  (
    SELECT
    A.*   
    FROM
    (
    SELECT
   NVL(PROGRAMID,0) PROGRAMID
  FROM HP_MEETYOU_BUJORI
  WHERE PARENTID = 0
    )  A
    ) INFO inner JOIN
    (
    SELECT
  NVL(PROGRAMID,0) AS RE_PROGRAMID
    FROM HP_MEETYOU_BUJORI
    WHERE PARENTID > 0
    )   B
    ON INFO.BOARDID=B.RE_PARENTID
    ORDER BY BOARDID DESC

   
이렇게 inner조인을 했는데



A인 boardid와 b인 parent아이디가 같으면 가상의 컬럼에 답글이 나오는형식인데
문제는 isreply라는 답변여부 Y.N 이라는 컬럼이 있는데 A에서 답변이 있는것만 나온다는겁니다

그러니까 질문은 A인 boardid와 b인 parent아이디가 같은것도 나오고 (답변이 있는것)
답변이 없는 A전체 모두 나와야 합니다 !!

고수님들 의견 부탁드립니다!
by 부쉬맨 [2012.09.11 15:09:49]
아우터조인을사용해보시죠.

한쪽의 데이터가 미존재시에도 보여주는 조인입니다.

질문이어렵네요.
ㅠㅠ

by 비디는껌 [2012.09.11 15:16:28]

어떤식으로 outer조인을 사용하면될까요?

by 부쉬맨 [2012.09.11 15:30:47]
ON INFO.BOARDID=B.RE_PARENTID 

부분에
데이터를 표현하는부분에 대해서
(+) 요론식으로 하시면됩니다.

제가 안시조인을 사용을안해서 저방식은
잘설명을 못드리겠네요.
 

by 제로 [2012.09.11 16:31:56]
-- 계층구조인거 같은데요? 
-- 우선, 아래 쿼리 참조해보세요~

-- 아우터 조인
SELECT A.*
   , B.*
FROM HP_MEETYOU_BUJORI A 
   LEFT OUTER JOIN 
   HP_MEETYOU_BUJORI B 
ON (INFO.BOARDID=B.RE_PARENTID AND B.PARENTID > 0)
ORDER BY A.BOARDID DESC;

-- 계층쿼리
SELECT IV0.*
   , REGEXP_SUBSTR(scbp, '[^/]+', 1, lv) "TITLE & RE_TITLE"
FROM (SELECT HMB.*, LEVEL lv, SYS_CONNECT_BY_PATH(TITLE, '/') scbp
   FROM HP_MEETYOU_BUJORI HMB
   START WITH PARENTID = 0
   CONNECT BY PRIOR BOARDID = RE_PARENTID) IV0;   
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입