decimalen in sql

Status
Niet open voor verdere reacties.

bvdzwart

Gebruiker
Lid geworden
9 jan 2017
Berichten
19
Goedemorgen,

Ik wil in een query de waarde van 1 kolom delen door de waarde van een andere kolom en dan tonen met 2 decimalen.
Dat zou dan worden 39 / 11 = 3.55 maar de uitkomst komt op 3.00.
Voor de kenners hier waarschijnlijk iets heel simpels maar ben geen hele handige sql gebruiker
Ik heb het als volgt opgebouwd:

select o.ID
,o.AantalKarren
,o.Datum
,o.Nummer
,s.OpdrachtBedrag
,f.Bedrag
,f.Nummer
,t.TotaalAantalEenheden
,cast (t.TotaalAantalEenheden / o.AantalKarren as decimal (10,2)) as GemiddeldAEperKar


from Opdracht o
left join Klant k on k.id = o.KlantID
left join Faktuur f on f.id = o.FaktuurID
left join OpdrachtStatistiek s on s.OpdrachtID = o.ID
left join (select count (r.aantaleenheden) as TotaalAantalEenheden
,r.OrderID
from opdrachtregel r
group by r.OrderID
) t on t.OrderID = o.ID


Kan iemand mij vertellen wat fout doe?
 
Welke database? MS SQL server? Volgens mij moet je dan ook een convert doen op de noemer en/of deler.

Wat je nu doet is integer(39/11)=3 convert to decimal = 3.00

[SQL]
cast (CONVERT(float,t.TotaalAantalEenheden) / o.AantalKarren as decimal (10,2)) as GemiddeldAEperKar
[/SQL]

zou moeten werken
 
Wampier, idd MS sql server en bedankt. Werkt als een zonnetje :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan