SQL SELECT Berechnung eines Gesammtpreises

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Du brauchst doch dazu nicht die Produkt-Nr. Für die Gesamtsumme ist nur der Preis mit Menge relevant, für die Auswahl die Bestell-Nr.

Du willst doch alle Produkte für eine Bestellung. Die bekommst Du über die Bestell-Nr. Du musst also irgendwo in Deiner Abfrage die Bedingung haben

WHERE bestell-nr = 12345

Damit bekommst Du alle Produkte der Bestell-Nr 12345.

Du musst nun unterscheiden, ob Du den Gesamtpreis der Bestellung haben möchtest oder eine Auflistung der betreffenden Produkte.Wenn Du beides brauchst, sind zwei Abfragen nötig.


DarkNightmare 
Beitragsersteller
 18.06.2014, 13:34

Hi,

danke für die Antwort. Du hast recht mit der BestellungsNr. Habe es mit einer zweiten Select Abfrage hinbekommen. Ich wollte eine Auflistung haben. Die Lösung:

SELECT BestellungsNr, SUM(Wert) AS Gesamtwert FROM(
SELECT BestellungsNr, Wert FROM (SELECT Bestellungen.BestellungsNr, (Preis  * Menge) AS Wert FROM Bestellungen 
INNER JOIN Bestellpositionen ON (Bestellungen.BestellungsNr =   Bestellpositionen.BestellungsNr)
INNER JOIN Produkte ON (Bestellpositionen.ProduktNr = Produkte.ProduktNr)   WHERE Bestellungen.BestellungsNr = Bestellpositionen.BestellungsNr AND  Bestellpositionen.ProduktNr = Produkte.ProduktNr))GROUP BY BestellungsNr;

Vielen Dank für den Denkanstoß !

Gruß

So etwa?

select BestellungsNr, sum(Preis*Menge) as Gesamtwert from 
  Bestellpositionen as B   inner join  Produkte as P
  on B.ProduktNr = P.ProduktNr 
group by BestellungsNr  

Gruß, Max.