안녕하세요. 타입 처리 때문에 어려움이 있어 고수님들께 도움요청 드립니다.
SELECT
C.BBS_ARTCL_SEQ
, C.SJ
, C.ADD_ITEM_03
, C.RGSDE
, C.VIEW_URL
, C.LIST_URL
, C.BBS_SETUP_SEQ
FROM
(
SELECT
A.BBS_ARTCL_SEQ
, '['||SUBSTR(B.BBS_NM,0,2)||']'||SUBSTR(A.SJ, 0, 30) || '...' AS SJ
, A.ADD_ITEM_03
, TO_CHAR(A.RGSDE, 'yyyy.MM.dd') AS RGSDE
, '/bbs/' || B.SITE_ID || '/' || B.BBS_SETUP_SEQ || '/' || A.BBS_ARTCL_SEQ || '/artclView.do?layout=unknown' AS VIEW_URL
, '/bbs/' || B.SITE_ID || '/' || B.BBS_SETUP_SEQ || '/artclList.do?layout=unknown' AS LIST_URL
, B.BBS_SETUP_SEQ
FROM
APP_BBS_ARTCL A
, APP_BBS_SETUP B
WHERE 1=1
AND B.BBS_SETUP_SEQ IN (SELECT REPLACE(interest_yn,'|',',') FROM app_interestlatter WHERE SFXDB_DEC('normal', EMAIL)='sylee@nav.com' )
--AND B.BBS_SETUP_SEQ IN (184,185,186,187,182,183)
AND A.BBS_SETUP_SEQ = B.BBS_SETUP_SEQ
AND A.TRASH_YN != 'Y'
AND A.SECRET_YN != 'Y'
AND A.CLSDR_YN != 'Y'
ORDER BY
A.RGSDE DESC
, A.BBS_ARTCL_SEQ DESC
) C
WHERE
ROWNUM BETWEEN 1 AND 5
;
- B 테이블 APP_BBS_SETUP.BBS_SETUP_SEQ 는 INTEGER 타입이고, => 184
- app_interestlatter 테이블의 interest_yn 는 VARCHAR() 타입이어서 => 184|185|186|187|182|183
위의 쿼리를 실행 시, 에러가 발생됩니다.
때문에,
AND B.BBS_SETUP_SEQ IN (SELECT REPLACE(interest_yn,'|',',') FROM app_interestlatter WHERE SFXDB_DEC('normal', EMAIL)='sylee@nav.com' ) 이 부분을
AND TO_CHAR(B.BBS_SETUP_SEQ) IN (SELECT REPLACE(interest_yn,'|',',') FROM app_interestlatter WHERE SFXDB_DEC('normal', EMAIL)='sylee@nav.com' ) 이렇게 변환하면,
에러 발생은 없지만, 데이터 조회가 되지 않습니다. ㅠㅠ
이런 경우 어찌 처리 해야 할지 난감하여 질문 올립니다.
도움부탁드립니다. ㅠㅠ
|