by sealpark [2022.07.22 17:24:00]
안녕하세요!
굵은 줄을 보시면 오라클에서는 정상 작동하는데
MSSQL에서는 다중으로 받게되면 처리가 되지 않고 있습니다. 좋은 방법 있을까요?
AND (
(B.GYEOLJAEJA_ID = IN_USER_ID AND B.GYEOLJAEJA_ID_GB = IN_USER_ID_GB)
OR CASE WHEN (B.GYEOLJAEJA_ID, B.GYEOLJAEJA_ID_GB) = (
SELECT US2.GYEOLJAEJA_ID
, US2.GYEOLJAEJA_ID_GB
FROM EA_USER_SEOLJEONG_M US2
WHERE US2.BUJAE_YN = '1'
AND US2.BUJAE_STT_DT <= CONVERT(NVARCHAR, GETDATE(), 112)
AND US2.BUJAE_END_DT >= CONVERT(NVARCHAR, GETDATE(), 112)
AND US2.DAERIJA_YN = '1'
AND US2.DAERIJA_ID = IN_USER_ID
AND US2.DAERIJA_ID_GB = IN_USER_ID_GB
) THEN IN_USER_ID + '_' + IN_USER_ID_GB
ELSE B.GYEOLJAEJA_ID + '_' + B.GYEOLJAEJA_ID_GB
END = IN_USER_ID + '_' + IN_USER_ID_GB
)
CONCAT(B.GYEOLJAEJA_ID, '-', B.GYEOLJAEJA_ID_GB) = (SELECT CONCAT(US2.GYEOLJAEJA_ID, '-', US2.GYEOLJAEJA_ID_GB)
답변 감사합니다.
저도 마농님께서 주신 답변처럼 처음에 생각하였으나 데이터상의 문제로 해당 방법은 사용하면 안된다고 하네요 ㅠㅠ
1_2_3_4 + _5
1_2_3_4_ + 5
그래서 일부러 중간에 구분자를 넣어 준 것입니다.