Прошу помощи гуру (запрос не правильно считает ...)
|
|
Четверг, 17 Апреля 2014 г. 13:42
+ в цитатник
Прошу помощи гуру:
Функция не правильно считает, в определенной транзакции. Причем только в функции, просто в запросе считает правильно.
сама Функция, которая возвращает сумму 20306012 ( нужно 20306013):
ALTER FUNCTION dbo.sf_CalculateWorkPrice
(@ProdCode varchar(20), @CurType varchar(20), @ContrCode varchar(20))
RETURNS real
AS
BEGIN
declare @WorkSum real
declare @Cur real
set @WorkSum=(
SELECT sum(tWorks.Price) as WorkSum FROM tProducts
INNER JOIN tWorks on tWorks.ProductCode = tProducts.ProductCode
WHERE tProducts.ProductCode = @ProdCode)
If @WorkSum is null
set @WorkSum = 0
RETURN ISNULL(@WorkSum,0)
END
запрос который возвращает правильный результат:
SELECT SUM(dbo.tWorks.Price) AS WorkSum
FROM dbo.tProducts INNER JOIN
dbo.tWorks ON dbo.tWorks.ProductCode = dbo.tProducts.ProductCode
WHERE (dbo.tProducts.ProductCode = 'L.38699')
Данные из таблицы dbo.tWorks.
ProductCode WorkSum
L.38699 345208
L.38699 364539
L.38699 41425
L.38699 27617
L.38699 8285
L.38699 171223
L.38699 110466
L.38699 676607
L.38699 3181435
L.38699 3181435
L.38699 3181435
L.38699 66280
L.38699 568902
L.38699 82850
L.38699 563379
L.38699 2899745
L.38699 317414
L.38699 552025
L.38699 33140
L.38699 115990
L.38699 3358182
L.38699 33141
L.38699 173985
L.38699 91134
L.38699 66280
L.38699 93891
20306013
Ребята сломала голову, не понимаю почему..., а для бухгалтерии это катастрофа... Спасибо.
http://www.sql.ru/forum/1089689/proshu-pomoshhi-guru-zapros-ne-pravilno-schitaet
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-