Din uppdatering motsvarar detta.
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 ) ;
Men jag skulle inte rekommendera detta. Att lagra posterna som kommaseparerade värden kommer definitivt att orsaka problem för dig i framtiden. Använd den bara för att visa resultaten med en fråga som nedan. Detta förutsätter att det i din dagstabell finns unika rader för varje dag. Om det finns dubbletter, join
det till det distinkta resultatet från dagar.
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