AND 구문에 CASE 구문을 사용 할 수 있는 방법이 있나요? 0 3 1,526

by 뉴스쿨84 [2013.09.09 20:30:04]


아래와 같은 방법으로 쿼리를 할 수 있는 방법이 있을가요?
쿼리를 실행하면 아래와 같이 ERROR가 나오긴 하는데....
이건 문법자체가 잘못된 거겠죠
오라클 11G 환경에서 사용중인데 아래와 같이 구현할 수 있는 방법이 있다면 도와주세요.ㅠㅠ

감사합니다~


ORA-00920: 관계 연산자가 부적합합니다



SELECT PRODUCTNAME 
  FROM TABLE T1, TABLE T2  
WHERE DATE < SYSDATE -30
  AND T1.DATE - (CASE
   WHEN PRODUCTNAME LIKE '%SL%'
THEN 
T1.DATE
ELSE
T2.DATE
END
   )
by 삽질연구자 [2013.09.09 23:31:49]
SELECT PRODUCTNAME 
  FROM TABLE T1, TABLE T2  
WHERE DATE < SYSDATE -30
  AND T1.DATE - (CASE
   WHEN PRODUCTNAME LIKE '%SL%'
THEN 
T1.DATE
ELSE
T2.DATE
END
   )

형광팬 부분에서 t1.date 에서 선택된 다른 date 를 뺀 값이 어떨때 라는 조건이 빠진 듯 합니다만..




by 우리집아찌 [2013.09.10 08:46:55]

SELECT PRODUCTNAME
  FROM TABLE T1, TABLE T2 
WHERE DATE < SYSDATE -30
  AND T1.DATE - (CASE WHEN REGEXP_COUNT(PRODUCTNAME, 'SL') > 0 THEN T1.DATE ELSE T2.DATE END )

by 뉴스쿨84 [2013.09.11 17:41:35]
말씀하신 내용을 참조하여 조금만 수정하였더니 잘 되었습니다.
도움주셔서 감사합니다.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입