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 41474 게시물 읽기
No. 41474
쿼리 질문입니다...
작성자
초보자
작성일
2017-10-27 14:57
조회수
6,110

SELECT 결과값이 아래처럼 있다고했을때요..

FLAG 값중 사과가 하나라도 있으면 A

바나나가 하나라도 있으면 B

ALL이 하나라도 있으면  ALL

사과와 바나나가 하나 이상있을때는 ALL

사과와 ALL 만 있을땐 ALL

바나나와 ALL만 있을땐 ALL

이렇게  하나의 값으로 추출을 하고싶은데..어떻게해야될까요 ㅠㅠㅠ도와주세요..ㅠ

 

ROWNUM     FLAG

1                    사과

2                    사과

3                    사과

4                   바나나

5                   바나나

6                   ALL

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

SELECT DECODE(COUNT(DISTINCT flag), 1, MIN(flag), 'ALL') x
  FROM t
;

마농(manon94)님이 2017-10-30 12:16에 작성한 댓글입니다.
이 댓글은 2017-10-30 12:17에 마지막으로 수정되었습니다.

select case when (select COUNT(DISTINCT flag) from TABLE) > 1 then 'ALL'

when (select COUNT(DISTINCT flag) from TABLE) = 1 AND (select flag from TABLE group by flag ) = '사과' then 'A'

when (select COUNT(DISTINCT flag) from TABLE) = 1 AND (select flag from TABLE group by flag ) = '바나나' then 'B'

ELSE 'ALL'

END

FROM DUAL

윤승환(felcon00)님이 2017-10-30 14:15에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
41477도와주세요 [2]
김진열
2017-11-03
5776
41476DB 특정프로그램으로 접속 막기 [1]
양정표
2017-11-02
5689
41475구현 가능 여부 문의
후니훈
2017-11-02
5671
41474쿼리 질문입니다... [2]
초보자
2017-10-27
6110
41473디비 스페이스 [1]
최종욱
2017-10-24
5903
41472다중 inset 문제 [1]
한가한
2017-10-23
5938
41471순번 만들기 2 (마농님.... 감사드립니다) [1]
블루이글
2017-10-20
6305
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.021초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다