যাদের অবশ্যই ওরাকল 9 আই (বা তার আগে) ব্যবহার করে এই সমস্যাটি সমাধান করতে হবে তাদের জন্য আপনার সম্ভবত SYS_CONNECT_BY_PATH ব্যবহার করা প্রয়োজন, যেহেতু LISTAGG উপলভ্য নয়।
ওপিকে উত্তর দেওয়ার জন্য, নিম্নলিখিত কোয়েরিটি সারণি এ থেকে পিআইডি প্রদর্শন করবে এবং সারণি বি থেকে সমস্ত ডিইএসসি কলামকে সম্মতি জানাবে:
SELECT pid, SUBSTR (MAX (SYS_CONNECT_BY_PATH (description, ', ')), 3) all_descriptions
FROM (
SELECT ROW_NUMBER () OVER (PARTITION BY pid ORDER BY pid, seq) rnum, pid, description
FROM (
SELECT a.pid, seq, description
FROM table_a a, table_b b
WHERE a.pid = b.pid(+)
)
)
START WITH rnum = 1
CONNECT BY PRIOR rnum = rnum - 1 AND PRIOR pid = pid
GROUP BY pid
ORDER BY pid;
এমন উদাহরণগুলিও থাকতে পারে যেখানে কী এবং মানগুলি সমস্ত এক টেবিলে থাকে। যেখানে সারণি A নেই সেখানে নিম্নলিখিত কোয়েরিটি ব্যবহার করা যেতে পারে এবং কেবল সারণি বি বিদ্যমান রয়েছে:
SELECT pid, SUBSTR (MAX (SYS_CONNECT_BY_PATH (description, ', ')), 3) all_descriptions
FROM (
SELECT ROW_NUMBER () OVER (PARTITION BY pid ORDER BY pid, seq) rnum, pid, description
FROM (
SELECT pid, seq, description
FROM table_b
)
)
START WITH rnum = 1
CONNECT BY PRIOR rnum = rnum - 1 AND PRIOR pid = pid
GROUP BY pid
ORDER BY pid;
সমস্ত মান পছন্দসই হিসাবে পুনরায় সাজানো যেতে পারে। পৃথক সংক্ষিপ্ত বিবরণগুলি বিভাগ দ্বারা পার্টিশনে পুনরায় সাজানো যেতে পারে, এবং পিআইডিগুলির তালিকা চূড়ান্ত অর্ডারের দ্বারা ধারা অনুসারে পুনরায় সাজানো যেতে পারে।
পর্যায়ক্রমে: এমন সময়গুলি হতে পারে যখন আপনি পুরো টেবিল থেকে সমস্ত মানকে এক সারিতে যুক্ত করতে চান।
এখানে মূল ধারণাটি বর্ণনাকারীর দলটিকে সম্মিলিত করার জন্য একটি কৃত্রিম মান ব্যবহার করছে।
নিম্নলিখিত ক্যোয়ারিতে, ধ্রুব স্ট্রিং '1' ব্যবহৃত হয়, তবে যে কোনও মান কাজ করবে:
SELECT SUBSTR (MAX (SYS_CONNECT_BY_PATH (description, ', ')), 3) all_descriptions
FROM (
SELECT ROW_NUMBER () OVER (PARTITION BY unique_id ORDER BY pid, seq) rnum, description
FROM (
SELECT '1' unique_id, b.pid, b.seq, b.description
FROM table_b b
)
)
START WITH rnum = 1
CONNECT BY PRIOR rnum = rnum - 1;
পৃথক সংক্ষিপ্ত বিবরণগুলি বিভাগ দ্বারা পার্টিশনে পুনরায় সাজানো যেতে পারে।
এই পৃষ্ঠার অন্যান্য বেশ কয়েকটি জবাবও এই অত্যন্ত সহায়ক উল্লেখটি উল্লেখ করেছে:
https://oracle-base.com/articles/misc/string-aggregation-techniques