SUM() funktion med decimaltal
HejJeg har et problem. I mit faktureringsprogram har hver linie i fakturaen følgende felter:
Antal
Rabat i procent
Pris
For at finde den totale pris for hver linie er formlen:
Antal * Pris * (100 - Rabat) / 100
Nu vil jeg lave en SQL sætning som udregner den totale pris på fakturaen. Det har jeg gjort sådan:
SELECT SUM(PriceEach * Amount * (100 - Discount) / 100) AS Total FROM InvoiceDetails GROUP BY InvoiceID
Problemet er så at når jeg udregner Antal * Pris * (100 - Rabat) / 100 får jeg ofte et decimaltal på mere end 2 decimaler og når ovenstående SQL sætning ligger linierne sammen tager den ikke højde for at hver linie skal afrundes til 2 decimaler før de ligges sammen. Altså noget i stil med:
SELECT SUM(KonverterTil2Decimaler(PriceEach * Amount * (100 - Discount) / 100)) AS Total FROM InvoiceDetails GROUP BY InvoiceID
Hvordan gør jeg det?
Tak
