ich habe drei Tabellen, die ich hier vereinfacht darstelle:
Code: Alles auswählen
bestrechnungen-Tabelle (Bestellungen/Rechnungen)
Recnr - integer(id)
Tagtrnr - integer
bestelllungen-TAbelle (Bestellte Produkte)
Besnr - integer(id)
Recnr - Verknüpfung mit bestrechnungen
Prodnr - Integer(Produktnr)
prodeiglink-Tabelle (Produkteigenschaften, Ein Produkt kann mehrere Eigeschaften haben)
Pvnr - integer (id)
Pvpenr - integer (auswahl)
Pvprodnr- Integer(Produktnr)
Aus dieser Db Selektiere ich Anzahl alle bestellten Produkte mit dem SQL-Befehl:
(Bedingung: Tagtrnr=58110
Code: Alles auswählen
SELECT bt.Prodnr, sum(bt.Menge) AS Menge FROM bestrechnungen br, bestelllungen bt
WHERE (br.Tagtrnr=58110) AND (bt.Recnr=br.Recnr)
GROUP BY bt.Prodnr
Aber jetzt wenn ich Bestellungen mit Tagtrnr=58110 und Pvpenr<>131 (Produkteigenschaft) auswähle mit:
Code: Alles auswählen
SELECT bt.Prodnr, sum(bt.Menge) AS Menge FROM bestrechnungen br, bestelllungen bt, prodeiglink pl
WHERE (br.Tagtrnr=58110) AND (bt.Recnr=br.Recnr)
AND (pl.Pvpenr<>131) AND (pl.Pvprodnr=bt.Prodnr)
GROUP BY bt.Prodnr
Edit:
Nehmen wir an ein Produkt hat die Eigenschaft 1 und 2. Das soll dann einmal gezählt werden. Produkte mit der Eigenschaft 131 werden übersprungen.
Also ich suche einen SQL-Befehl mit dem ich Produkte zählen soll die nicht die Eigenschaft 131 hat (pl.Pvpenr<>131). Kennt jemand Lösung für das Problem?