Oracle : 여러 결과를 하위 쿼리를 단일 쉼표로 구분 된 값으로 결합합니다 [복제
-
20-08-2019 - |
문제
이 질문은 이미 여기에 답이 있습니다.
나는 단일 컬러 하위 퀘스트를 명령으로 구분 된 것으로 변환하려고합니다. 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
제휴하지 않습니다 StackOverflow