Tach!
Diese Formatierungen füge ich bereits in der SQL-Abfrage ein (GROUP_CONCAT),
Welchen Zweck soll die Gruppierung erfüllen? Warum fragst du nciht einfach nur die Daten ab und formatierst sie im abfragenden Programm?
substring(ubf_termin_datum, 1, 4) as ubf_termin_datum_jahr,
substring(ubf_termin_datum, 6, 2) as ubf_termin_datum_monat,
substring(ubf_termin_datum, 9, 2) as ubf_termin_datum_tag,
Warum gehst du hier mit Stringfunktionen auf ein Datum los, wo es doch für richtige Datums-Felder spezialisierte Funktionen gibt?
Kann man da nochmals eine GROUP_CONCAT über beide Abfragen machen?
Das kann ich jetzt nicht mit Bestimmtheit sagen, aber wenn, dann muss die unionisierte Abfrage als Subselect in einer FROM-Klausel landen, woraufhin du dann wieder GROUP BY etc. anwenden kannst. Ob MySQL sowas zulässt, musst du mal dem Handbuch entnehmen oder probieren.
Allgemein scheint mir das aber nicht der richtige Weg zu sein. Du hast es jetzt schon komplizierter als nötig (gemäß meinem Bauchgefühl beim groben Überfliegen des Problems). Eine Gruppierung ohne abenteuerliche GROUP_CONCATs bekommt man auch im abfragenden Programm hin. Recherche-Stichwort: Gruppenwechsel.
dedlfix.