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 38668 게시물 읽기
No. 38668
고수님들 Query부탁드립니다
작성자
jinkuidong(jinkuidong)
작성일
2011-07-06 21:35
조회수
4,565

 테이블 구조 

 cd, group, cond1, cond2, cond3, 
 
검색1
조건: 1 or 2 
 1. cond1 in ('100','200') and cond2 in ('1','3')
    동일한 group 내의 데이타의 임의의 레코드를 만족시키는 데이타
 2. cond3 = '1' 
    동일한 group 내의 데이타의 임의의 레코드를 만족시키는 데이타
 
검색2
조건: 
 cond3 = '1' and 조건1 이외의 데이타 
 
검색1 의 예
결과   cd, group, cond1, cond2, cond3, 
 OK    1,  1,     100,   1,     2
 OK    2,  1,     200,   2,     3
 OK    3,  1,     300,   3,     4
 
 OK    4,  2,     100,   2,     1
 OK    5,  2,     200,   2,     2
 OK    6,  2,     300,   2,     3
 
 NG    7,  3,     300,   2,     2
 NG    8,  3,     300,   2,     3
 NG    9,  3,     300,   2,     4
 
고수님들의 조언 부탁드립니다.
 
이 글에 대한 댓글이 총 2건 있습니다.

WITH t AS
(
SELECT 1 cd, 1 grp, '100' cond1, '1' cond2, '2' cond3 FROM dual
UNION ALL SELECT 2, 1, '200', '2', '3' FROM dual
UNION ALL SELECT 3, 1, '300', '3', '4' FROM dual
UNION ALL SELECT 4, 2, '100', '2', '1' FROM dual
UNION ALL SELECT 5, 2, '200', '2', '2' FROM dual
UNION ALL SELECT 6, 2, '300', '2', '3' FROM dual
UNION ALL SELECT 7, 3, '300', '2', '2' FROM dual
UNION ALL SELECT 8, 3, '300', '2', '3' FROM dual
UNION ALL SELECT 9, 3, '300', '2', '4' FROM dual
)
SELECT cd, grp, cond1, cond2, cond3
     , c1 조건1
     , c2 조건2
     , CASE WHEN SUM(c1+c2) OVER(PARTITION BY grp) > 0
            THEN 'OK' ELSE 'NG' END 결과1
     , CASE WHEN COUNT(DECODE(c1||c2, '01', 1)) OVER(PARTITION BY grp) > 0
            THEN 'OK' ELSE 'NG' END 결과2
  FROM (
        SELECT cd, grp, cond1, cond2, cond3
             , CASE WHEN cond1 IN ('100','200') AND cond2 IN ('1','3')
                    THEN 1 ELSE 0 END c1
             , CASE WHEN cond3 = '1' THEN 1 ELSE 0 END c2
          FROM t
        )
;

마농(manon94)님이 2011-07-07 09:23에 작성한 댓글입니다.
이 댓글은 2011-07-07 09:24에 마지막으로 수정되었습니다.

마농님 감사합니다.

jinkuidong(jinkuidong)님이 2011-07-10 14:41에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
38672오라클에서 배열 문자 중 특정 순차의 문자를 가져오는 함수에서 오류 문의 [1]
gemini2k
2011-07-07
4636
38670오라클 클라이언트 와 developer suite를 같이 설치하면...
박제권
2011-07-07
3691
38669(주)DB웍스 임직원 분들께 감사드립니다. [2]
사람넷
2011-07-07
5379
38668고수님들 Query부탁드립니다 [2]
jinkuidong
2011-07-06
4565
38667where 조건에 case when [3]
레이첼
2011-07-06
12347
38666주별 테이터를 월별로 변환 쿼리를 부탁 드립니다. [6]
성보현
2011-07-06
5892
38665[질문] 가끔씩 ora-12560 TNS 프로토콜 오류?
질문
2011-07-06
4583
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.057초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다