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 40781 게시물 읽기
No. 40781
숫자구간할당
작성자
쿼리OTL
작성일
2015-04-27 19:50ⓒ
2015-04-27 20:42ⓜ
조회수
7,091

A_테이블

seq,t1

---------

1,10

2,12

3.30

...

B_테이블 (참조)

구간시작,구간끝,구간값

-----------

10,13,AA

15,19,BB

20,100,CC

 

결과

-----------

1,10,AA

2,12,AA

3.30,CC

 

안녕하세요. 구간할당 문의 드립니다.

A테이블(800만건) 숫자(t1)를 B테이블(30만건) 숫자구간을 참조하여 구간에 맞는 구간값을 가져와야 합니다.

문의 1.  쿼리나 프로시저 구성 문의

문의 2. 중복구간이 존재시 특정 MAX값 등 1건 만 가져오거나 제외하는 방법

 

감사합니다.^^
 

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

WITH a AS
(
SELECT 1 seq, 10 t1 FROM dual
UNION ALL SELECT 2, 12 FROM dual
UNION ALL SELECT 3, 30 FROM dual
UNION ALL SELECT 4, 99 FROM dual
)
, b AS
(
SELECT 10 s, 13 e, 'AA' v FROM dual
UNION ALL SELECT 15,  19, 'BB' FROM dual
UNION ALL SELECT 20, 100, 'CC' FROM dual
UNION ALL SELECT 90, 110, 'DD' FROM dual
)
SELECT a.seq, a.t1
     , MIN(v) v_min
     , MAX(v) v_max
     , LISTAGG(v, ',') WITHIN GROUP(ORDER BY v) v_agg
  FROM a
     , b
 WHERE a.t1 BETWEEN b.s AND b.e
 GROUP BY a.seq, a.t1
 ORDER BY a.seq
;


건수가 상당하네요.
성능이 나올까 걱정되네요.

마농(manon94)님이 2015-04-28 00:54에 작성한 댓글입니다.
이 댓글은 2015-04-28 08:42에 마지막으로 수정되었습니다.

마농님 감사합니다..^^ 패러럴로 어떻게 되지 않을까 싶네요...;

AAAA님이 2015-04-28 18:07에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
40785union시 [2]
천랑성
2015-04-29
6509
40784특정조건에서의 Select Query 지연현상 [1]
최영수
2015-04-29
6862
40783특정값을 기준으로 차이점 비교하는 쿼리 질문드립니다. [6]
choiksn
2015-04-28
15449
40781숫자구간할당 [2]
쿼리OTL
2015-04-27
7091
40778dbca로 dbID를 생성할려고 하는데 질문좀 할게요
dbhelp
2015-04-20
6937
40777숫자 구간 중복 검사 쿼리 문의 드립니다. [2]
쿼리OTL
2015-04-20
7000
40776빈 라인 추가 [2]
김영하
2015-04-20
7121
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다