أوراكل:الجمع بين عدة نتائج في فرعي واحد قيم مفصولة بفاصلة [مكررة]

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

سؤال

أحاول تحويل واحد أعمدة فرعي في أمر مفصولة VARCHAR-كتابة قائمة من القيم.

هذا مطابق هذا السؤال, لكن Oracle بدلا من ملقم SQL أو MySQL.

هل كانت مفيدة؟

المحلول

هناك ملخص ممتاز من تتوفر سلسلة تقنيات التجميع على تيم قاعة الموقع.

نصائح أخرى

لقد وجدت هذه التي يبدو أن العمل.الأفكار ؟

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 ، لذلك نستخدم مخصص وظيفة الكلي.

هنا مدونة يظهر Oracle الاستعلام للعمل مثل الخلية GROUP_CONCAT():

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

حدد deptno, wm_concat(ايناميه) كموظفين من emp مجموعة من deptno;

المرجع: http://forums.oracle.com/forums/thread.jspa?messageID=1186901�

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top