Hallo Kim,
meine bisherige Ausgabe war immer:
Überschrift zur Veranstaltung mit id=1 (über vid verknüpft)
von: 2005-10-05 bis: 2005-10-09
Überschrift zur Veranstaltung mit id=1 (über vid verknüpft)
von: 2005-11-05 bis: 2005-11-09
Überschrift zur Veranstaltung mit id=1 (über vid verknüpft)
von: 2005-12-05 bis: 2005-12-09das Ziel ist aber:
Überschrift zur Veranstaltung mit id=1 (über vid verknüpft)
von: 2005-10-05 bis: 2005-10-09
von: 2005-11-05 bis: 2005-11-09
von: 2005-12-05 bis: 2005-12-09
d.h. wohl, ich bräuchte 2 verschachtelte sql abfragen.
nein, das geht über Standard-SQL hinaus. Normalerweise machst Du so etwas in der Anwendung (also nicht in SQL). Du gibst einmal die Überschrift aus, dann die zugehörigen Zeilen. Als Suchbegriff dürfte Dir "Gruppenwechsel" weiterhelfen.
Wenn Du alle Verstaltungen, sortiert nach der id (nicht besonders gutes Sortierkriterium), untereinander ausgeben lassen willst, innerhalb einer Veranstaltung jeweils nach dem Beginn der Veranstaltung, verwende die ORDER-BY-Klausel:
SELECT
ueberschrift,
beginn
ende
FROM veranstaltungen v -- v wie _v_eranstaltungen
INNER JOIN termine t -- t wie _t_ermine
ON v.id = t.vid
ORDER BY v.id, beginn -- Standardsortierung ist aufsteigend
Bei der Ausgabe gehst Du in etwa wie folgt vor:
Gemerkte Überschrift = leere Zeichenkette
Solange es Zeilen in der Ergebnismenge gibt
Nimm die nächste Zeile
Lese die Überschrift
Wenn es eine neue Überschrift ist
Merke die Überschrift
Gebe die Überschrift aus
Ende Wenn
Gebe den Termin aus
Ende Solange
Freundliche Grüße
Vinzenz