2011-02-04 3 views
0

Можете ли вы сказать мне, что я делаю неправильно здесь? Пытается использовать вычитание здесь в SQL Server 2005 SELECT. Здесь есть некоторый тип синтаксической ошибки.Вопрос о SQL-арифметических функциях

isnull(dbo.udf_GetInventory(ga.sku,@date4),0) * costprice - 
isnull(dbo.udf_GetInventory(ga.sku,@date3),0) * costprice as date2_diff 
+7

Что ошибка? – alex

+0

Вы имели в виду наличие двух разных переменных @date? – Blorgbeard

+1

Почему бы вам не заменить все это на 0? Это будет результат. –

ответ

4

Там нет синтаксиса ошибки здесь, если:

  1. Вы кладете заявление в SELECT ... от га.
  2. ga - таблица со столбцами sku и costprice некоторого числового типа данных.
  3. У вас есть скалярнозначная функция udf_getinventory, которая принимает два параметра.
  4. Тип данных первого параметра для udf_getinventory соответствует типу данных ga.sku.
  5. Тип данных второго параметра соответствует типу данных @ date3.
  6. udf_getinventory возвращает некоторый числовой тип данных.
  7. @ Дата3 объявляется перед оператором SELECT.
  8. @ Дата4 объявляется перед оператором SELECT.
0

Не уверен, синтаксической ошибки, но при условии, udf_GetInventory недетерминированно вы собираетесь получить 0 каждый раз, когда ...