Guten Tag,
ich habe eine Datenbank die folgendermaßen aufgebaut ist.
SQL-Code:
CREATE TABLE restaurants (
id INT,
constraint restaurants_id primary key(id));
CREATE TABLE gerichte (
id INT,
restaurant_id INT NOT NULL,
constraint gerichte_id primary key(id));
CREATE TABLE bestellungen (
id INT,
gericht_id INT NOT NULL,
constraint bestellungen_id primary key(id));
Nun möchte ich ausgeben bekommen, welche Restaurants.id's alle in der Bestellung auftauchen.
D.h Wenn es 5 Restaurants in der Datenbank gibt. Und aber nur bei Restaurant 1 und 3 etwas bestellt wurde, soll auch nur 1 und 3 ausgegeben werden und diese auch nur jeweils 1x.
Ausgabe soll dann so aussehen:
Ich habe es folgendermaßen versucht:
SELECT restaurants.id FROM restaurants,bestellungen,gerichte WHERE gerichte.id = bestellungen.gericht_id AND gerichte.restaurant_id = restaurants.id;
Doch dort kommt folgendes raus:
SQL-Code:
ID
============
0
0
0
1
1
1
1
1
1
1
Es liegt an der fehlenden Beziehung zwischen Bestellungen <-> Restaurants oder?
Oder kann man das anders lösen?
Danke für eure Hilfe