Anzahl innerhalb einer Bedingung

pythoneer

Neuer Benutzer
Beiträge
2
Hallo,

ich möchte innerhalb einer WHERE-Bedingung nocheinmal die gesamte Anzahl an jeweils gleichen Einträgen herhausfinden und diese mit einem anderm Wert vergleichen.
Es hapert an der WHERE-Klausel

Hier die SQL Abfrage:
Code:
SELECT a.nr, COUNT(p.nr) AS Anzahl
FROM
artikel a
INNER JOIN
produkt p ON (a.nr=p.nr)
WHERE COUNT(p.nr) < mindestmenge
GROUP BY
a.nr

Tabelle artikel
nr artikelname mindestmenge

Tabelle produkt
id nr
 
Werbung:
moin, meinst du so was ?

Code:
SELECT a.nr, COUNT(p.nr) AS Anzahl
FROM
artikel a
INNER JOIN
produkt p ON (a.nr=p.nr)
GROUP BY a.nr
HAVING Anzahl < mindestmenge

Gruss

Bernd
 
super vielen Dank für die Hilfe so hat es geklappt:
Code:
SELECT a.nr, COUNT(p.nr) AS Anzahl, a.mindestmenge
FROM
artikel a
INNER JOIN
produkt p ON (a.nr=p.nr)
GROUP BY a.nr
HAVING Anzahl < a.mindestmenge

Aber eine Frage habe ich noch: Ist es möglich gleich die Differenz (a.mindestmenge - Anzahl) auszugeben?
 
Und das funktioniert nicht?
Code:
SELECT a.nr,  a.mindestmenge - COUNT(p.nr) as differenz, COUNT(p.nr) AS Anzahl, a.mindestmenge
FROM
artikel a
INNER JOIN
produkt p ON (a.nr=p.nr)
GROUP BY a.nr
HAVING Anzahl < a.mindestmenge
 
Werbung:
so sollte es gehen, ist aber nicht getestet

Code:
SELECT a.nr, @d:= COUNT(p.nr) AS Anzahl, a.mindestmenge - @d as differenz, a.mindestmenge
FROM
artikel a, (select @d:=0) tmp
INNER JOIN
produkt p ON (a.nr=p.nr)
GROUP BY a.nr
HAVING Anzahl < a.mindestmenge

Gruss

Bernd
 
Zurück
Oben