Oracle: mehrere Ergebnisse in einer Unterabfrage in einem einzigen komma-separierte Kombinieren [Duplicate]

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

Frage

    

Diese Frage bereits eine Antwort hier:

         

Ich versuche, eine Single-columned Unterabfrage in eine Befehl getrennt VARCHAR typisierte Liste von Werten zu konvertieren.

Dies ist identisch href="https://stackoverflow.com/questions/111341/combine-multiple-results-in-a-subquery-into-a-single-comma-separated-value"> dies , aber für Oracle statt SQL Server oder MySQL.

Andere Tipps

Das fand ich die zu funktionieren scheint. Gedanken?

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 eingeführt LISTAGG , die im Gegensatz zu WM_CONCAT dokumentiert. Wir sind nicht auf 11.2 noch, also verwenden wir eine benutzerdefinierte Aggregatfunktion.

Hier ist ein Blog, das eine Oracle-Abfrage zeigt, wie MySQL GROUP_CONCAT() arbeiten:

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

SELECT deptno, wm_concat (ename) AS Mitarbeiter FROM emp GROUP BY deptno;

Referenz: http://forums.oracle.com/forums /thread.jspa?messageID=1186901�

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top