case 문에 대해서 문의드립니다!! 0 2 1,712

by InSilence [SQL Query] [2010.10.29 10:59:41]



CASE
  WHEN A.MYEONJEOP_JEOMSU1 <= 8 THEN '과락'
  WHEN A.MYEONJEOP_JEOMSU2 <= 8 THEN '과락'
  WHEN A.MYEONJEOP_JEOMSU3 <= 8 THEN '과락'
  WHEN A.MYEONJEOP_JEOMSU4 <= 8 THEN '과락'
  WHEN A.MYEONJEOP_JEOMSU5 <= 8 THEN '과락' END AS CNT

이렇게 해서 점수 1부터 5까지 8점이하인것이 2개이면 과락으로 표현하고 싶은데

과락 점수가 1개만 나와도 표현이 되네요....

제가 아직 오라클 초보라서.. then에 카운터를 써서 2가 되면 과락으로 표현할려고 노력했으나

되지가 않아서요 고수님들의 작은 조언 부탁드립니다. ㅠㅠ
by 최단경로 [2010.10.29 15:33:01]
안녕하세요..

지나가다 몇자 적어 봅니다.

여러가지 방법이 있겠지만..

select case when jumsu >= 2 then '과락' end
, jumsu
from ( select case when jumsu_1 <= 8 then 1 else 0 end
+ case when jumsu_2 <= 8 then 1 else 0 end
+ case when jumsu_3 <= 8 then 1 else 0 end
+ case when jumsu_4 <= 8 then 1 else 0 end
+ case when jumsu_5 <= 8 then 1 else 0 end jumsu
from ( select 8 jumsu_1
, 9 jumsu_2
, 8 jumsu_3
, 9 jumsu_4
, 9 jumsu_5
from dual
)
) a

이렇게 하면 되지 않을까 하네요. ^^;

그럼. 수고하세요..

by InSilence [2010.11.01 14:02:06]
감사합니다. ^^
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입