10

単一列のサブクエリをコマンドで区切られたVARCHARタイプの値のリストに変換しようとしています。

これはこの質問と同じですが、SQL Server や MySQL ではなく Oracle の場合です。

4

4 に答える 4

12

Tim Hallのサイトには、利用可能な文字列集約手法の優れた要約があります。

于 2009-01-29T19:19:57.993 に答える
5

I found this that seems to work. Thoughts?

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;
于 2009-01-29T17:49:47.943 に答える
3

11.2 で導入されたLISTAGGは、WM_CONCAT とは異なり、文書化されています。まだ 11.2 ではないので、カスタム集計関数を使用します。

于 2010-02-03T15:30:40.370 に答える
0

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

参照: http://forums.oracle.com/forums/thread.jspa?messageID=1186901᱕

于 2010-08-25T19:44:10.667 に答える