Rolf B: Mehrfachabfrage in einer mysql Tabelle, doppelte Ergebnisse

Beitrag lesen

Hallo Hennak,

Weis jemand was da falsch läuft?

Ja. Deine Datenbank enthält keine Information über die Beziehung zwischen Land und Stadt. Deine SQL Abfrage liefert ein kartesisches Produkt aller Ebene-1 Objekte mit den Ebene-2 Objekten.

So werden alle Orte aus Niedersachsen ausgegeben.

SELECT ebene, name  FROM city WHERE ebene = 2  ORDER BY name ASC;

NEIN. So werden alle Orte ausgegeben. Egal in welchem Bundesland. Deine Tabelle enthält derzeit nur Orte aus Niedersachsen, deswegen scheint es zu funktionieren. Aber füge mal Erfurt und Jena hinzu.

Also - irgendwie muss Hannover "wissen", dass es zu Niedersachsen gehört, und Erfurt, dass es zu Thüringen gehört. Dieses Wissen musst Du der Tabelle hinzufügen und in der ON-Klausel der SQL Query nutzen.

Rolf

--
sumpsi - posui - obstruxi