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:
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ß
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ß