HAVING 한번만 봐주세요~ 0 5 2,231

by 여비몬 [2013.05.02 08:30:54]



HAVING SUM(DECODE(:pred_iqry_cls_code, 1, A.ACNG_AMT1 - A.CASH_AMT1
, 1, A.ACNG_AMT2 - A.CASH_AMT2))  = '0' --일치
    OR SUM(DECODE(:pred_iqry_cls_code, 0, A.ACNG_AMT1 - A.CASH_AMT1
  , 0, A.ACNG_AMT2 - A.CASH_AMT2)) <> '0'     --불일치

조건을 이렇게주었습니다
그런데 이 두개의 조건을 모두 포함을 할때를 구하려고하는데 어떤식으로 주어야할까요...?
by 마농 [2013.05.02 08:45:12]

설명이 부족하구요.
- 일치, 불일치, 둘다(일치 + 불일치 = 전체?)에 대한 설명 부족
- :pred_iqry_cls_code 이 변수값에 따라 위 세가지 구분으로 구별되나요?


쿼리가 틀렸습니다.
- Decode 구문이 논리적으로 맞질 않습니다.
- 위 구문을 간략화하면 DECODE(:v, 1, a, 1, b) v 가 1이면 a 또 1이면 b?


by 여비몬 [2013.05.02 08:55:29]

네 일치 + 불일치 = 전체입니다
세가지로 구분되는거 맞구요~
음..decode를 저런식으로 쓰면 안되는건가용..

by 여비몬 [2013.05.02 08:58:19]

HAVING (SUM(ACNG_AMT1) - SUM(CASH_AMT1)) = '0'
   AND (SUM(ACNG_AMT2) - SUM(CASH_AMT2)) = '0'

일치같은경우 이식을 이용해서 만들었습니다;

by 마농 [2013.05.02 09:25:55]
HAVING (:pred_iqry_cls_code = 1 -- 일치
        AND SUM(acng_amt1) - SUM(cash_amt1) = 0
        AND SUM(acng_amt2) - SUM(cash_amt2) = 0
        )
    OR (:pred_iqry_cls_code = 0 -- 불일치
        AND SUM(acng_amt1) - SUM(cash_amt1) != 0
        AND SUM(acng_amt2) - SUM(cash_amt2) != 0
        )
    OR (:pred_iqry_cls_code IS NULL) -- 전체

by 여비몬 [2013.05.02 09:33:52]

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