SQL Group by Fragen

Hallo Leute,
ich habe ein Problem was ich leider nur schlecht beschreiben kann, deshalb möchte ich es anhand einer Skizze einmal darstellen, und zwar suche ich einen Befehl um aus folgenden Datensätzen, folgendes Ergebnis bekomme:

Datensatz:
ID Datum Name
1 01.01.07 Thomas
2 01.01.07 Marcel
3 02.01.07 Diter
4 02.01.07 Hans

Ergebnis:
Datum Name
01.01.07 Thomas, Marcel
02.01.07 Diter, Hans

So ich hoffe irgendeiner kann mich verstehen, ach ja nochwas, wenn es möglich wäre müsste das in einer group by sql abfrage rein.

Danke im Vorraus

Marcel D.

Hi,

eine solche Funktion als Group by geht nicht, da musst Du schon deine eigene Funktion dafür programmieren.

Gruß
Andreas

haha, du bist ja ein Experte, hab noch ein wenig gegooglt und hab dann folgende Lösung gefunden:

Select Datum, GROUP_CONCAT(DISTINCT Name ORDER BY Name asc SEPARATOR ', ') From ‚Tabelle‘ group by Datum

Und ich muss sagen es geht recht gut.

  1. Was für eine Art SQL ist das? Oracle oder MySQL oder oder oder?

  2. Warum googelst Du jetzt erst?

Gruß

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Das ist MySQL
und ich habe vorher ca 2 h gesucht und dann hab ich erst diesen Beitrag geschrieben, und dann hab ich noch nen wenig gesucht und auch endlich gefunden.

haha, du bist ja ein Experte

höhöhö - und Du bist der Großmeister, oder was?

Select Datum, GROUP_CONCAT(DISTINCT Name ORDER BY Name asc
SEPARATOR ', ') From ‚Tabelle‘ group by Datum

Hm, „GROUP_CONCAT“ - ich hab’s mal so wie oben auf Oracle und SQL-Server ausprobiert (Teradata, Informix und DB2 stehen mir auf die Schnelle leider nicht zur Verfügung) und nirgendwo funktionierts … kann es sein, daß das nix mit SQL-Standard zu tun hat und in jedem Dialekt anders heißt bzw. es dort gar nicht gibt und man das Ganze selber schreiben muß?

Grüße,
Tomh