Msg 4145, уровень 15, выражение небулевого типа, указанное в контексте, где ожидается условие, рядом с ')'. ошибка - PullRequest
0 голосов
/ 05 мая 2020

Я пытался показать максимум псевдонима [totalmonthly], я пытался поставить {SUM(([Price]-[CostToMake])* MonthlySales)}, но все равно ничего не появилось. Что я здесь делаю не так?

SELECT      Name, 
            SUM(([Price]-[CostToMake])* MonthlySales) AS TotalMonthly
FROM        SalesTable
GROUP BY    Name
HAVING      MAX(TotalMonthly)

И я получаю сообщение об ошибке:

Msg 4145, Level 15,
Выражение не-логического типа, указанного в контекст, в котором ожидается условие, рядом с ')'

1 Ответ

0 голосов
/ 05 мая 2020

Используйте TOP (1) и ORDER BY:

SELECT TOP (1) Name, 
       SUM(([Price]-[CostToMake])* MonthlySales) AS TotalMonthly
FROM SalesTable
GROUP BY Name
ORDER BY TotalMonthly DESC;

Я предполагаю, что ваш запрос генерирует ошибку, а не неправильные результаты.

...