database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 41997 게시물 읽기
No. 41997
CASE문 쿼리 문의 드립니다
작성자
group
작성일
2024-07-05 11:10
조회수
174

CASE WHEN 컬럼1 = 'Y'

              AND 컬럼2 = 'N'

              AND 컬럼3 = 'N' THEN '1'

          WHEN 컬럼1 = 'N'

              AND 컬럼2 = 'Y'

              AND 컬럼3 = 'N' THEN '2'

          WHEN 컬럼1 = 'Y'

              AND 컬럼2 = 'Y'

              AND 컬럼3 = 'N' THEN '1,2'

                     .

                     .

                     .

이런식으로 선언된 케이스 문이 있을때 해당 쿼리를 좀더

간결하게 표현할 수 있는 쿼리문 이 있을까요?

답변 부탁 드립니다.


 

이 글에 대한 댓글이 총 2건 있습니다.

여러 컬럼이면 decode로 아래처럼 하는 방법도 있는 것 같습니다.


decode(컬럼1||컬럼2||컬럼3,'YNN','1','NYN','2','YYN','1,2')

정상규(pajama)님이 2024-07-05 11:18에 작성한 댓글입니다.
WITH t AS
(
SELECT 'N' c1, 'N' c2, 'N' c3 FROM dual
UNION ALL SELECT 'N', 'N', 'Y' FROM dual
UNION ALL SELECT 'N', 'Y', 'N' FROM dual
UNION ALL SELECT 'Y', 'N', 'N' FROM dual
UNION ALL SELECT 'N', 'Y', 'Y' FROM dual
UNION ALL SELECT 'Y', 'N', 'Y' FROM dual
UNION ALL SELECT 'Y', 'Y', 'N' FROM dual
UNION ALL SELECT 'Y', 'Y', 'Y' FROM dual
)
SELECT c1, c2, c3
     , DECODE(c1||c2||c3, 'YNN', '1'
                        , 'NYN', '2'
                        , 'NNY', '3'
                        , 'YYN', '1,2'
                        , 'YNY', '1,3'
                        , 'NYY', '2,3'
                        , 'YYY', '1, 2, 3'
                        ) x1
     , SUBSTR(DECODE(c1, 'Y', ',1')
           || DECODE(c2, 'Y', ',2')
           || DECODE(c3, 'Y', ',3')
            , 2) x2
  FROM t
;

 
마농(manon94)님이 2024-07-08 10:44에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
41998oracle to postgresql dblink (odbc) 로 데이터 조회 시 한글깨짐현상. [1]
디비에이
2024-07-10
137
41997CASE문 쿼리 문의 드립니다 [2]
group
2024-07-05
174
41996인덱스 사용 후 Cost 값 증가 [1]
테사자
2024-06-25
167
41993쿼리수행시간 문의 [1]
열심히하자
2024-06-18
177
419921년이상 연속된 일자 가져오기 관련 질문입니다. [2]
조기영
2024-06-07
195
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다