Hallo,
gegeben sei folgende Tabelle
CREATE TABLE lager (vkNr INT NOT NULL, eingang INT NOT NULL, lagerhalterId INT NOT NULL)
INSERT INTO lager VALUES(10, 2000, 5)
INSERT INTO lager VALUES(10, 3000, 5)
INSERT INTO lager VALUES(10, 1000, 6)
Nun möchte ich diejenigen Lagerhalter abfragen, die zu einem bestimmten Verkauf einen Warenbestand (Gesamteingang) über 2000 haben.
Das geht mit
SELECT lagerhalterId AS id, SUM(eingang) AS m
FROM lager
WHERE vkNr=10
GROUP BY lagerhalterId
HAVING m>2000
Da ich aber nur die LagerhalterId benötige, würde ich gerne die Mengenspalte aus der Query entfernen. Einer meiner vergeblichen Versuche sieht so aus:
SELECT lagerhalterId AS id
FROM lager
WHERE vkNr=10 AND (SELECT SUM(eingang) FROM lager WHERE vkNr=10 AND lagerhalterId=id) >2000;
Mit und ohne GROUP BY bekomme ich immer den Fehler
ERROR 1054 (42S22): Unknown column 'id' in 'where clause'
Danke für Lösungsvorschläge.