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!
Moderator
Comment