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 40827 게시물 읽기
No. 40827
안녕하세요 split 속도 문제 문의드립니다..
작성자
아벨의꿈
작성일
2015-06-10 16:52ⓒ
2015-06-10 17:31ⓜ
조회수
8,107

 안녕하세요

 

  SELECT distinct regexp_substr(A.TXT, '[^|]+', 1, LEVEL) TXT

  FROM (SELECT 'A|B|C|D' TXT FROM dual) A

CONNECT BY LEVEL <= length(regexp_replace(A.TXT, '[^|]+',''))+1

 

 

이런식의 예제를 사용해서 쿼리를 구현했는대요 테이블이 2개(a,b) 가있고

a테이블에  tag 컬럼에 a,b,c,d,e

이런식으로 50 로우정도가나오고

b테이블에 tag 컬럼에 c,d,e,f, 이런식으로 하나에 값이 나옵니다

2개의 테이블에서 tag값을 (,) 로 split 했을때 한개라도 값이 같으면 데이터가 나와야하는 쿼리를 짜고있습니다

필요한데이터는 a 테이블의 값인대 a테이블에서 위에 쿼리를사용하여 split 하면 속도가 너무오래걸립니다

... like로 구현하려고해도 필요한 값이 a테이블에 있는값이라 

방법을 못찾겠습니다

도움 주시면 감사하겠습니다

 

 

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

WITH a AS
(
SELECT 'a,b,c,d,e' tag FROM dual
UNION ALL SELECT 'x,y,z' FROM dual
)
, b AS
(
SELECT 'c,d,e,f' tag FROM dual
)
SELECT a.tag
     , REGEXP_COUNT( ','||REPLACE(a.tag, ',', ',|,')||','
                   , ','||REPLACE(b.tag, ',', ',|,')||','
                   ) match_cnt
     , TRIM(BOTH ',' FROM
       REGEXP_REPLACE(
       REGEXP_REPLACE( ','||REPLACE(a.tag, ',', ',|,')||','
                     , '(,'||REPLACE(b.tag, ',', ',|,')||',)|.'
                     , '\1')
                     , ',+', ',')
                     ) match_tag
     , b.tag
  FROM a
     , b
 WHERE REGEXP_LIKE( ','||REPLACE(a.tag, ',', ',|,')||','
                  , ','||REPLACE(b.tag, ',', ',|,')||','
                  )
;

마농(manon94)님이 2015-06-10 18:51에 작성한 댓글입니다.

 감사합니다 ^^ 

아벨의꿈님이 2015-06-11 07:29에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
40830sql문을 buffer에 오래 두기 [2]
이현정
2015-06-11
7344
40829솔라리스 11에서 Pro*C 사용방법
김재명
2015-06-11
8370
40828이 쿼리실행시 접속된 유저 전체테이블이 삭제되는건가요? [1]
DBA희망자
2015-06-11
7193
40827안녕하세요 split 속도 문제 문의드립니다.. [2]
아벨의꿈
2015-06-10
8107
40826오라클에서 처음조회할때 속도 느린 현상 해결좀... [1]
김삼
2015-06-10
7410
40825겹치는 필드가 가장 많은 로우와 카운트 찾는 쿼리 질문이요. [3]
현아범
2015-06-09
7802
40824쿼리 문의드립니다. [3]
나랑
2015-06-09
7743
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다