oracle case문 질문 3

by wlwns [Oracle 기초] [2023.01.02 09:14:29]


계약 상태라는 컬럼(CONTRACT_STAT_GB)에 1은 신규, 2는 연장, 3은 해지계약을 의미하는데 신규계약하고 해지계약만 카운트 하려는데 COUNT(CASE WHEN CONTRACT_STAT_GB = 1 THEN '신규계약' ELSE '' END) AS CONTRACT_STAT_GB,
        COUNT(CASE WHEN CONTRACT_STAT_GB = 3 THEN '해지계약' ELSE '' END) AS CONTRACT_STAT_GB

이게 맞는걸까요 ..

by 마농 [2023.01.02 09:15:31]

ELSE 는 필요 없습니다.
THEN 절에는 '신규계약', '해지계약' 식으로 복잡하게 적을 필요 없이
그냥 간단하게 1 정도 적어주시면 됩니다.
알리아스도 다르게 주세요.
, COUNT(CASE WHEN contract_stat_gb = 1 THEN 1 END) cnt_1
, COUNT(CASE WHEN contract_stat_gb = 3 THEN 1 END) cnt_3


by wlwns [2023.01.02 09:27:13]

COUNT(CASE WHEN CONTRACT_STAT_GB = 1 THEN '1' END) AS CONTRACT_STAT_GB,
COUNT(CASE WHEN CONTRACT_STAT_GB = 3 THEN '3' END) AS CONTRACT_STAT_GB

이런식이면 될까용


by 마농 [2023.01.02 10:01:14]

굳이 따옴표도 필요 없구요.
알리아스는 다르게 주셔야죠.

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