Hallo,
ich habe eine Datenbank namens "tiere" mit zwei Tabellen
haustiere (ID, Tier, Name, Besitzer)
besitzer (ID, Name, Wohnort, Telefon)
Folgende Beziehung: haustier(Besitzer) = besitzer(Name)
Ich möchte alle Tiere (komplette Zeile) finden, die in einem Wohnort vorkommen:
Folgender Ansatz
Das funktioniert gut.
Sortierung nach Namen, die in der gewünschten Stadt wohnen:
klappt auch wunderbar.
Nun die Kopplung:
Das klappt nicht. Fehlermeldung: "#1242 - Subquery returns more than 1 row"
Ist mein Ansatz mit den geschachtelten Abfragen so vom Ansatz richtig, nur dass vielleicht ein einfaches Schlüsselwort noch fehlt, damit Primärabfrage mehrere Einträge akzeptiert, oder ist die Vorgehensweise ganz anders? Die Sekundärabfrage müsste irgendwie mit einem OR an den Namen gekoppelt werden. Geht das?
ich habe eine Datenbank namens "tiere" mit zwei Tabellen
haustiere (ID, Tier, Name, Besitzer)
besitzer (ID, Name, Wohnort, Telefon)
Folgende Beziehung: haustier(Besitzer) = besitzer(Name)
Ich möchte alle Tiere (komplette Zeile) finden, die in einem Wohnort vorkommen:
Folgender Ansatz
Code:
SELECT * FROM haustiere WHERE Name = "XYZ"
Das funktioniert gut.
Sortierung nach Namen, die in der gewünschten Stadt wohnen:
Code:
SELECT Name FROM besitzer WHERE Wohnort = "XYZ"
klappt auch wunderbar.
Nun die Kopplung:
Code:
SELECT * FROM haustiere WHERE Name = (SELECT Name FROM besitzer WHERE Wohnort = "XYZ")
Das klappt nicht. Fehlermeldung: "#1242 - Subquery returns more than 1 row"
Ist mein Ansatz mit den geschachtelten Abfragen so vom Ansatz richtig, nur dass vielleicht ein einfaches Schlüsselwort noch fehlt, damit Primärabfrage mehrere Einträge akzeptiert, oder ist die Vorgehensweise ganz anders? Die Sekundärabfrage müsste irgendwie mit einem OR an den Namen gekoppelt werden. Geht das?