Использование функции агрегирования в вычисляемом поле - PullRequest
0 голосов
/ 03 июня 2019

У меня есть запрос, который отлично работает в SQL Server Management Studio, за исключением того, что int превращается в float без всякой причины (я не уверен, что это важно).Когда я пытаюсь запустить его в Visual Studio 2012, он выдает ошибку об агрегированных функциях в вычисляемом поле.

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

SELECT 
v1.pk,
v1.description,
SUM(v1.quantity)
FROM v1
INNER JOIN v2 ON v1.v1_fk = v2.pk
WHERE v1.v1_fk = 5 AND
    v1.date >= @date AND
    v2.foo = 1 AND
    v1.bar LIKE '%1%'
GROUP BY v1.pk, v1.description
HAVING SUM(v1.quantity) <= @num
ORDER BY pk

Это прекрасно работает в SQL Server Management Studio.В Visual Studio выдается «Определение для отчета недействительным. Выражение для вычисляемого поля« количество »включает в себя агрегат, RowNumber, RunningValue, Previous или функцию поиска. Их нельзя использовать в выражениях вычисляемого поля.

...