Vinzenz Mai: MySQL-SELECT - ich bin leider völlig orientierungslos

Beitrag lesen

Hallo,

Es existiert eine Tabelle (termine) in folgender Form, die leider als so gegeben angesehen werden muss.

-id -betreff----- -start------------ -name---
-1- -Besprechung- -01.01.2009-11:00- -Peter--
-2- -Besprechung- -01.01.2009-11:00- -Paul---
-3- -Besprechung- -01.01.2009-11:00- -Mary---
-4- -Ausflug----- -02.02.2009-13:00- -Peter--
-5- -Ausflug----- -02.02.2009-15:00- -Paul---
-6- -Kneipentour- -03.03.2009-18:00- -Mary---

Ziel:
EIN Termin "Besprechung", wenn "betreff" und "start" bei Einträgen identisch sind, allerdings sollen die Namen der Teilnehmer erhalten bleiben.
Alle anderen Termine benötige ich einzeln.

Mein unzureichender und für diesen Zweck falscher Ansatz war:
SELECT * FROM termine GROUP BY betreff, start;

wie so oft: Schlimm, dass MySQL sowas nicht mit einem Syntaxfehler quittiert.
Wenn Du in MySQL nach einer Spalte nicht gruppierst, auf die Du keine Aggregatsfunktion anwendest, dann nimmt MySQL die Aggregatsfunktion

zufall()

und gibt einen beliebigen Wert aus der Gruppe zurück. Dies könnte bei Deiner Besprechung Peter sein, beim nächsten Mal Paul und ein anderes Mal Mary.

Gibt es auf (My)SQL-Basis eine Syntax die mir bei meinem Problem helfen könnte?

Ja, die Aggregatsfunktion GROUP_CONCAT() leistet das, was Du benötigst.

Freundliche Grüße

Vinzenz