MYSQL Abfrage nur bestimmte Einträge

Krikus

Mitglied
Hi,

ich bräuchte einmal Eure Hilfe bei einer Datenbankabfrage.
Meine Datenbankstruktur befindet sich im Anhang.

Ich würde gerne die ID der Bestellung (Tabelle "bestellung") bekommen wo alle bestellten Pizzen (Tabelle "bestellte_pizzen")den Status "gebacken" haben.

Mein Versuch liefert auch die ID zurück wo nur eine Pizza der Bestellung den Status "gebacken" hat.

PHP:
SELECT A.id FROM bestellung AS A, bestellte_pizzen AS B, status AS C 
WHERE A.id = B.id_bestellung AND b.id_status = (SELECT id FROM status WHERE status_name = 'gebacken') 
GROUP BY A.id
 

Anhänge

  • Datenbank.jpg
    Datenbank.jpg
    28,1 KB · Aufrufe: 29
Ich würds mal umgekehrt versuchen.
Gib alle Bestellungen bei denen keine Pizza den Status ungleich gebacken hat.

SQL:
SELECT bp.id_bestellung
FROM 
	bestellte_pizzen AS bp
	LEFT JOIN status AS s
		ON s.id = bp.id_status
WHERE
	s.status_name <> 'gebacken'	
GROUP BY bp.id_bestellung
HAVING count(bp.id) = 0
 
Zuletzt bearbeitet von einem Moderator:
Zurück