Dafür sollte IMO distinct (Ausfiltern) und union (Hauptzutat) ausreichen.
Ja, die Verwendung von union als Lösung der kleinen Zusatzanforderung wäre eine Option. Aber die Ausfilterung der Duplikate ist knifflig, da bei ungeschickter Verwendung von group by (oder distinct) die Sortierung verloren geht.