Kämpfe schon seit Stunden mit folgendem SQL-Problem:
Ich habe eine Tabelle 'Tiere', die sieht so aus:
id Gruppe Subgruppe
-------------------------
1 Hund Dackel
2 Hund Terrier
3 Hund Schaeferh
4 Katze Wildkatze
5 Katze Hauskatze
6 Maus Spitzmaus
Ich möchte eine Abfrage erstellen, mit der alle in der DB vorhandenen Hauptgruppen (hier: Hund, Katze und Maus) _einmal_ herausbekomme, und zwar in der richtigen Reihenfolge (d.h. aufsteigend sortiert nach ID).
Leider überschneiden sich diese beiden Bedingungen immer bei mir:
Meine Abfrage
SELECT DISTINCT Gruppe, id FROM Tiere ORDER BY id
liefert zwar die richtige Reihenfolge, aber dafür bleiben alle Dubletten drin, weil die Kombination von Gruppe und id immer unterschiedliche Datensätze erzeugt.
Die Abfrage
SELECT DISTINCT Gruppe FROM Tiere
liefert zwar tatsächlich nur je 1x Hund, Katze und Maus - aber nicht in der richtigen Reihenfolge.
Die Lösung wäre theoretisch
SELECT DISTINCT Gruppe FROM Tiere ORDER BY id (was nicht geht, weil nur nach etwas sortiert werden kann, das aus abgefragt wurde)
oder
SELECT (DISTINCT Gruppe), id FROM Tiere ORDER BY id (was das Distinct nur auf den Gruppennamen beziehen würde. Liefert aber nur böse Fehlermeldung..)
HILFE!
Wie geht die Lösung?
Danke,
Chris