Hallo,
ich möchte eine komplexe Abfrage machen und habe auch schon verschiedenes versucht. Ich bekomme aber nicht die richtigen Werte aus der Abfrage.
Tabellen (vereinfacht):
Bestellungen: rechnungsnr|versandkosten
Bestellpositionen: rechnungsnr|artikelname|einzelpreis|menge
Ich möchte die rechnungsnr aller Bestellungen wissen, wo
- die Summe des gesamten Warenwerts einer Bestellung höher als 50 ist und die Versandkosten höher als 0 sind
ODER
- die Summe des gesamten Warenwerts einer Bestellung kleiner als 50 ist und die Versandkosten weniger als 1 oder größer als 5 sind.
Mein Versuch:
Wo liegt der Fehler? Danke für eure Hilfe!
ich möchte eine komplexe Abfrage machen und habe auch schon verschiedenes versucht. Ich bekomme aber nicht die richtigen Werte aus der Abfrage.
Tabellen (vereinfacht):
Bestellungen: rechnungsnr|versandkosten
Bestellpositionen: rechnungsnr|artikelname|einzelpreis|menge
Ich möchte die rechnungsnr aller Bestellungen wissen, wo
- die Summe des gesamten Warenwerts einer Bestellung höher als 50 ist und die Versandkosten höher als 0 sind
ODER
- die Summe des gesamten Warenwerts einer Bestellung kleiner als 50 ist und die Versandkosten weniger als 1 oder größer als 5 sind.
Mein Versuch:
Code:
SELECT DISTINCT bestellungen.rechnungsnr FROM bestellungen, bestellpositionen WHERE bestellungen.rechnungsnr = bestellpositionen.rechnungsnr AND ( ( 50 < ( SELECT sum( einzelpreis * menge ) FROM bestellpositionen WHERE bestellungen.rechnungsnr = bestellpositionen.rechnungsnr AND bestellungen.versandkosten >0 ) ) OR ( bestellungen.rechnungsnr = bestellpositionen.rechnungsnr AND ( 50 >( SELECT sum( einzelpreis * menge ) FROM bestellpositionen, bestellungen WHERE bestellungen.rechnungsnr = bestellpositionen.rechnungsnr AND ( ( bestellungen.versandkosten <1 ) OR ( bestellungen.versandkosten > 5 ) ) )) ) )
Wo liegt der Fehler? Danke für eure Hilfe!
Kommentar