आपका अपडेट इसके बराबर है।
UPDATE schedules s
SET days = (SELECT LISTAGG(day, ', ')
within group ( ORDER BY day_order )
FROM days d
WHERE d.schedule IN ( 'Weekend', 'Weekday' )
AND d.schedule = s.schedule
GROUP BY d.schedule ) ;
लेकिन, मैं अनुशंसा नहीं करूंगा यह। अभिलेखों को अल्पविराम द्वारा अलग किए गए मानों के रूप में संग्रहीत करना भविष्य में आपके लिए समस्याएँ पैदा करने के लिए बाध्य है। केवल नीचे की तरह एक क्वेरी का उपयोग करके परिणाम प्रदर्शित करने के लिए इसका उपयोग करें। यह मानता है कि आपकी दिन तालिका में, प्रत्येक दिन के लिए अद्वितीय पंक्तियाँ हैं। यदि डुप्लिकेट हैं, तो join
यह दिनों से निर्धारित विशिष्ट परिणाम के लिए है।
SELECT d.id,
d.schedule,
LISTAGG(s.day, ', ')
within GROUP ( ORDER BY d.day_order )
FROM days d
join schedules s
ON ( d.schedule = s.schedule )
WHERE d.schedule IN ( 'Weekend', 'Weekday' )
GROUP BY d.id,
d.schedule