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 40386 게시물 읽기
No. 40386
wn_concat 으로는 안되네요
작성자
햇살한조각
작성일
2014-02-19 20:57ⓒ
2014-02-19 21:07ⓜ
조회수
10,463

사용자 ID별로 관리하는 업체의 리스트가 있습니다.

 

사용자 ID별 관리하는 업체를 (A, B,C....) 이런식으로 표현을 해야 하는데

관리하는 업체가 6개 이상인 경우엔 (A,B,C,D,E 등) 이렇게 조회하면 됩니다.

 

ID로 group by해서 count가 5 이하면 wm_concat(관리업체명)

else면 instr으로 다섯번째 콤마를 찾아서 substr하고 ` 등`을 붙이게 쿼리를 짰는데..

 

ora 22813 : 연산자값이 시스템 한계를 넘었습니다.

라는 에러가 나네요..

 

ID로 파티셔닝 해서 row_number로 가져와서 decode(rnum,1,업체명,2,업체명....)

이 방법밖에 생각이 안나는데, 혹시 더 좋은 방법이 없을까 해서 질문 드립니다.

 

 

 

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

SELECT 사용자id

, listagg ( 업체, ',') within group (order by rn)

|| decode ( max(rn), 6, ' 등' )

FROM (

SELECT t.*

, row_number() over(partition by 사용자id order by 업체) rn

FROM t

)

WHERE rn <= 6

GROUP BY 사용자id

채용근(taiji97)님이 2014-02-20 13:22에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
40389PL/SQL 프로시저 수행 관련 문의드립니다.
김수정
2014-02-28
6810
40388Oracle Export 기능에 대해서 질문드립니다.
김동산
2014-02-27
6806
40387엑셀 수식을 오라클로 변환하고싶습니다 [1]
매수신호
2014-02-24
7802
40386wn_concat 으로는 안되네요 [1]
햇살한조각
2014-02-19
10463
40385xp안전모드에서 오라클 exp 를 실행
한상원
2014-02-18
6865
40384substr 후 한글깨짐현상
껌은요정
2014-02-17
8134
40383함수 질문이여 [1]
김도완
2014-02-14
6904
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다