Oracle : 여러 결과를 하위 쿼리를 단일 쉼표로 구분 된 값으로 결합합니다 [복제

StackOverflow https://stackoverflow.com/questions/492563

문제

나는 단일 컬러 하위 퀘스트를 명령으로 구분 된 것으로 변환하려고합니다. VARCHAR-TYPED 값 목록.

이것은 동일합니다 이 질문, 그러나 SQL Server 또는 MySQL이 아닌 Oracle의 경우.

도움이 되었습니까?

해결책

훌륭한 요약이 있습니다 사용 가능한 문자열 집계 기술 Tim Hall의 사이트에서.

다른 팁

나는 이것이 효과가있는 것 같았다. 생각?

SELECT SUBSTR (c, 2) concatenated
  FROM (SELECT     SYS_CONNECT_BY_PATH ( myfield, ',') c, r
              FROM (SELECT   ROWNUM ID, myfield,
                             RANK () OVER (ORDER BY ROWID DESC) r
                        FROM mytable
                    ORDER BY myfield)
        START WITH ID = 1
        CONNECT BY PRIOR ID = ID - 1)
 WHERE r = 1;

11.2 도입 listagg, WM_CONCAT와 달리 문서화됩니다. 우리는 아직 11.2에 있지 않으므로 사용자 정의 집계 기능을 사용합니다.

다음은 MySQL처럼 작동하는 Oracle 쿼리를 보여주는 블로그입니다. GROUP_CONCAT():

http://halisway.blogspot.com/2006/08/oracle-groupconcat-updated-again.html

Deptno, WM_Concat (Ename) Deptno의 직원으로 Deptno (Ename)를 선택하십시오.

참조: http://forums.oracle.com/forums/thread.jspa?messageid=1186901

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top