أوراكل:الجمع بين عدة نتائج في فرعي واحد قيم مفصولة بفاصلة [مكررة]
-
20-08-2019 - |
سؤال
هذا السؤال سبق الجواب هنا:
أحاول تحويل واحد أعمدة فرعي في أمر مفصولة 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�
لا تنتمي إلى StackOverflow