У меня есть данные, что выглядит следующим образом:прок SQL сумма не добавляет правильно
ID Date1 Date2 Paid Amount
A 1/25/2012 -168.48
A 1/25/2012 -59.44
A 1/25/2012 -13.18
A 1/25/2012 -8.02
A 1/25/2012 8.02
A 1/25/2012 13.18
A 1/25/2012 59.44
A 1/25/2012 168.48
A 12/28/2011 1/25/2012 50.00
A 12/28/2011 1/25/2012 61.00
Proc sql;
Create table SUM as
Select id, date1, date2, sum(paid_amount) as paid_amount
From SUM_0
Group by id, date1, date2;
я получаю что-то вроде этого:
ID Date1 Date2 paid_amount
A 1/25/2012 4.547474E-13
A 12/28/2011 1/25/2012 111.00
Просто Eyeballing, это очевидно, что сумма paid_amount для пустой даты1, но 1/25/2012 date2 должен быть 0. По какой-то причине для этой и других подобных установок я получаю различные суммы с значениями E-13.
выглядит как вопрос с плавающей точкой. Является ли 'paid_amount' валютой или десятичной точкой? – shawnt00
Это числовое значение без определенного формата или информации, с длиной 8. – PinkyL
вы выводите для второго ряда должно быть 111, а не 110.00 .. вы можете проверить здесь, его рабочий тон http://sqlfiddle.com/#!3/8a397 /1........let нам известно, какая у вас структура таблиц – HaveNoDisplayName