2014-01-16 3 views
-1

Я пытаюсь построить функцию, которая будет возвращать SUM из значения, но когда я печатаю в этой функции, я получаю сообщение об ошибке:Невозможно создать запрос на выборку в функции в SQL Server

CREATE FUNCTION calculatesSummaryDiscount(@f1034 int, @f65 money, @f1032 int) 
RETURNS MONEY 
AS 
BEGIN 
    RETURN (
     SELECT SUM(@F65), MAX(@F1032) 
     FROM SAL_TTL 
     WHERE 
      @F1032 = 91 
      AND @F1034 IN (8,9,10,11,12,13,14,15,3340,3650)) 
END 

сам код работает, когда нет в функции, поэтому я должен выяснить, как объединить его в функции, чтобы я мог вызвать его значение после.

+2

Эта функция не работает не из-за запроса select, а из-за наличия двух столбцов в инструкции select, возвращаемой функцией –

ответ

3

Вы объявляете функцию возврата типа Деньги, но пытаетесь вернуть таблицу. Создайте Table-Valued Function или удалите MAX(@F1032) из инструкции SELECT.

Смежные вопросы