CONNECT BY로 답변형 게시판을 만들고 있는데 삭제 상태 처리를 어떻게 보여줄지 도움 부탁드립니다. 0 1 3,317

by 재동이_김재훈 [SQL Query] 계층형 게시판 CONNECT BY [2017.03.27 01:54:37]


캡처.PNG (14,061Bytes)

            

          SELECT A.BOARD_ID AS BOARD_ID
                               , A.GROUP_SEQ AS GROUP_SEQ
                             , A.BOARD_SEQ AS BOARD_SEQ
                             , A.UP_SEQ AS UP_SEQ
                             , A.DEPTH AS DEPTH
                             , A.TITLE AS TITLE
                             , A.CREATE_ID AS CREATE_ID
                             , TO_CHAR(A.CREATE_DT,'YYYY-MM-DD') AS CREATE_DT
                             , A.VIEW_CNT AS VIEW_CNT
                             , (SELECT COUNT(B.FILE_SEQ) FROM BOARD_FILE B WHERE B.BOARD_ID = A.BOARD_ID AND B.BOARD_SEQ = A.BOARD_SEQ) AS FILE_CNT
                             , A.DEL_YN AS DEL_YN
                        FROM (

                                 SELECT * 
                                   FROM BOARD 
                                 WHERE BOARD_ID = 'FREE'

                        ) A
                  START WITH UP_SEQ = 0 
                         AND DEPTH = 0 
                  CONNECT BY PRIOR BOARD_SEQ = UP_SEQ 
                         AND DEPTH != 0 

           ORDER SIBLINGS BY GROUP_SEQ DESC, BOARD_SEQ ASC   

 

 

지금 이런 식으로 쿼리를 만들어 놨습니다.

 

목록은 첨부한 사진과 같이 잘 나오는데

문제는 여기서 삭제한 데이터를 어떻게 처리 해야할지를 잘 모르겠습니다.

지금 삭제 FLAG를 하나 둬서 실 데이터는 안 지우고 FLAG만 변경을 하려고 합니다.

START_WITH 절이나 CONNECT BY 절에 삭제 FLAG를 추가해서 처리해 보려 하니

질문글을 제외하면 답변글까지 같이 다 제외 되버립니다.

제가 하려하는건 질문글을 제외하더라도 답변글은 남아 있는걸 바라는데 어떻게 쿼리를 짜야 할까요??

 

도움 부탁드리겠습니다.

by 마농 [2017.03.27 09:10:06]

조건절에 넣지 마시고

Select 절에서 Decode 나 Case 로 처리하세요.

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