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?
 
  Verein
Verein 
 Links
Links Suche
Suche