[ medixsa @ 11.04.2008. 00:36 ] @
Pozdrav !!!

QUpit2.SQL.Clear;
QUpit2.SQL.add('select Sum(IznosSUM)as IznosSUM,SUM(SumPDVr)as sumPDVr,SUM(sumbezPDVr)as sumbezPDVr from RacunP.dbf r join StavkeRacuna s on r.BrojRac = S.ID where (Datum between "'+DateToStr(DatumOd.Date)+'" and "'+DateToStr(DatumDo.Date)+'")');
QUpit2.Open;


Pitanje ?

kako uraditi Round (zaokruzivanje na dvije decimale) uz matematicku operaciju SUM (vidi gore u kodu)..pokusavao sam
ali nije kompatibilna podrska da ide kao argument round(sum(XXX),2) npr.....

pokusvao sam i ovo ali ne ide Round(Sum([IznosSUM],2)as IznosSUM

Hvala !!!
[ schild @ 11.04.2008. 06:43 ] @
Code:
select sum(cast(IznosSUM as decimal(18,2))) 
from ...
Na ovaj nacin se pre sumiranja IznosSUM zaokruzi na 2 decimale, pa ce i zbir biti ok
[ medixsa @ 12.04.2008. 21:55 ] @
Dejane hvala Vam puno !!!
[ Bojan Kopanja @ 13.04.2008. 00:31 ] @
Mozes malo da obrnes ovo resenje da bi ti racunalo tacnije ;).

Uradi ovako:

Code:
select cast(sum(IznosSUM) as decimal(18,2))
from ...


Ovako ce ti sabrati prvo sve iz IznosSUM pa tek onda taj rezultat zaokruziti i tako ce ti greska pri zaokruzivanju biti najmanja.
[ medixsa @ 13.04.2008. 00:43 ] @
Probao sam ,ali mi konstantno izbacuje gresku, npr. u smislu... nije kompatibilna podrska

[ Bojan Kopanja @ 13.04.2008. 13:06 ] @
Hm... Zakleo bih se da bi trebalo da radi... U sustini nisam probao, ali mora da moze i tako.

Evo i primera recimo:

http://www.bennadel.com/blog/4...ULLIF-For-Dividing-By-Zero.htm

BTW koji RDBMS i koje komponente koristis?
[ viking13 @ 13.04.2008. 21:17 ] @
Probaj numeric umesto decimal.
[ medixsa @ 13.04.2008. 23:02 ] @
OK ljudi hvala puno

Uradio sam i frcera sa numeric
[ schild @ 14.04.2008. 06:14 ] @
Ali sa ovim "select cast(sum(IznosSUM) as decimal(18,2)) from ..." necete dobiti to sto je Medixsa trazio. Naime, ovo je isto kao da si zaokruzio u client programu.
To znaci da kada izlista 10 brojeva iz te neke tabele (koji su zaokruzeni na 2 decimale), i posle prikaze ovaj zbir, moze se desiti da nisu isti (a to je bila sustina pitanja ako se ne varam).

Za medixsu - nemoj mi persirati, molim te!