Hi Nino,
versuch's mal hiermit ...
Code:
SELECT COUNT(kBestellPos) FROM tbestellpos AS t1
INNER JOIN tBestellung AS t2 ON t2.kBestellung=t1.tBestellung_kBestellung
WHERE cHinweis='' AND cArtNr NOT LIKE 'mug' AND cArtNr NOT LIKE 'matte' AND cArtNr NOT LIKE 'wm-htp'
AND nKomplettAusgeliefert=0 AND kRueckhalteGrund=0
Zwei kleine Erläuterungen...
1. Der Code prüft mit
NOT LIKE, ob die Artikelnummer die gewünschten Ausschlüsse
enthält, nicht ob die Artikelnummer einer der Ausschlüsse
ist. Der SQL Code würde also z.B. auch bei einer Artikelnummer "Bastmatten" anschlagen. Willst Du das nicht, musst Du stattdessen
cArtNr='matte', usw. schreiben.
2. Bestellungen, zu denen noch gar keine (Teil-)Lieferung stattgefunden hat, haben in der Tabellenspalte
dLieferdatum den Wert
NULL stehen, sind also leer. Du schreibst oben, dass die Bestellung "nicht versendet" sein soll. Ich würde das so verstehen wie "Versand abgeschlossen", deshalb habe ich die Tabellenspalte
nKomplettAusgeliefert verwendet.
Willst Du aber stattdessen nur Bestellpositionen gezählt haben, die zu Bestellungen gehören, die noch gar keine (Teil-)Lieferung hatten, änderst Du
nKomplettAusgeliefert=0 einfach in
dLieferdatum IS NULL ab.
Gruß,
Ingmar