SQL-Abfrage - Problem

philipp p

Grünschnabel
Guten Tag,

sorry für die dumme Überschrift, aber ich kann es leider nicht besser beschreiben. Ich habe hier folgendes Szenario, wo ich nicht ganz durchblicke:

Tabelle "Bestellung"
Tabelle "Artikel", mit dem Feld "StatusNummer", welches eine INT-Zahl von 0-2 enthält.

Eine Bestellung kann mehrere Artikel haben, und wenn ein Artikel geliefert wurde, wird dieser auf ausgeliefert gesetzt (und bekommt somit eine 2)

Nun möchte ich eine Abfrage, die mir ALLE Bestellungen auflistet, die "erledigt" sind, also bei der jeder Artikel einer Bestellung eine 2 im Feld StatusNummer hat.

Hört sich leicht an, dachte ich anfangs auch. Deshalb habe ich folgende SQL Abfrage gestrickt:

Code:
SELECT 
	Bestellung.BedarfsNr, 
	Bestellung.Datum, 
	Bestellung.Abkuerzung, 
	Bestellung.Handzeichen, 
	Bestellung.Bestellt 
FROM 
	Bestellung JOIN Artikel 
ON 
	Bestellung.BedarfsNr = Artikel.BedarfsNr 
WHERE 
	Artikel.StatusNummer = 2 AND Bestellung.Bestellt = 1 
GROUP BY 
	Bestellung.BedarfsNr, 
	Bestellung.Datum, 
	Bestellung.Abkuerzung, 
	Bestellung.Handzeichen, 
	Bestellung.Bestellt;

Leider stimmt die Abfrage so nicht, DENN: sobald ein Artikel einer Bestellung die StatusNummer "2" hat, ein anderer Artikel der selben Bestellung aber nicht, wird diese somit trotzdem von meinem SQL Statement eingefangen.

Ich will also nur, dass mir nur die Bestellungen angezeigt werden, bei der auch JEDER Artikel auf ausgeliefert (StatusNummer "2") steht. Nur wie realisiere ich das möglichst geschickt über SQL?

Vielen Dank schon mal,
Gruß
 

Neue Beiträge

Zurück