현재 제가 처한(?) 상황은 이렇습니다
제가 접근 가능한 DB(일반공지)와 개발서버에서만 접근이 가능한 DB(프로그램, 뉴스)가 있는데
제가 막힌 부분이 전체를 클릭했을 때 다 가져와서 보여줘야 하는데 ...
테이블을 어떤식으로 합쳐야 할지를 모르겠어서 막막합니다.
각각의 데이터를 긁어오는 쿼리를 보여드리면 혹시 설명가능할지 몰라서 올려봅니다..
1) 프로그램, 뉴스 데이터 긁어오는 쿼리
SELECT A.rnum, A.BOARD_NUM, replace(replace(replace(board_title, '<b><font color=RED>', ''), '<b><font color=blue>', ''), '<b><font color=red>', '') BOARD_TITLE, A.CREATETIME, A.CREATER, A.BOARD_TYPE, A.VIEW_CNT, A.FILE_URL1, A.FILE_URL2, A.FILE_URL3, A.FILE_FLAG, A.NOTICE_FLAG FROM ( SELECT rownum as rnum, A.* FROM ( SELECT BOARD_NUM, BOARD_TITLE, TO_CHAR(TO_DATE(CREATETIME, 'YYYY-MM-DD hh24:mi:ss'), 'YYYY-MM-DD') CREATETIME, CREATER, BOARD_TYPE, VIEW_CNT, FILE_URL1, FILE_URL2, FILE_URL3, DECODE(FILE_URL1, NULL, 'N', 'Y') FILE_FLAG, NVL(NOTICE_FLAG, 'N') NOTICE_FLAG FROM hsdb.V_HGU_NOTICE WHERE BOARD_TYPE IN('프로그램','뉴스') ]]><dynamic><![CDATA[ ${ WHERE_SEARCH } ]]></dynamic><![CDATA[ ORDER BY NOTICE_FLAG DESC, BOARD_NUM DESC ) A WHERE rownum <= ? ) A WHERE A.rnum >= ?
2) 일반공지 긁어오는 쿼리
SELECT @rownum := @rownum + 1 as ROWNUM, BOARD_CODE, BOARD_NUM, BOARD_TITLE, BOARD_CONTENT, RFRN_URL, FILE_FLAG, VIEW_CNT, DATE_FORMAT(CREATETIME, '%Y-%m-%d') CREATETIME, A.CREATER CREATER_ID, (SELECT NAME FROM TB_BA_USER WHERE USERID = A.CREATER) CREATER, IFNULL(NOTICE_FLAG, 'N') NOTICE_FLAG, OPEN_FLAG, UPEST_BRD_NUM, UP_BRD_NUM, BRD_DEPTH, DIV_CD, FUN_COMMON_CODE('BD01', DIV_CD) DIV_STR, DEL_YN FROM TB_BRD_BOARD A, (select @rownum :=0) r WHERE BOARD_CODE = ? ]]><dynamic><![CDATA[ ${ WHERE_SEARCH } ]]></dynamic><![CDATA[ ORDER BY IFNULL(NOTICE_FLAG, 'N') DESC, UPEST_BRD_NUM DESC, CREATETIME, BRD_DEPTH ASC LIMIT ?, 10
되게 난잡한 거 같긴한데.. 혹시나 도움 주실 수 있으면 힌트좀 주십시오.ㅠㅠ
구글링 해보니 테이블 합칠땐 join이나 union 사용한다는데 sql쪽에 약해서.. 공부하겠습니다.ㅠ