【问题标题】:Msg 4145, Level 15, An expression of non-boolean type specified in a context where a condition is expected, near ')'. error消息 4145,级别 15,在预期条件的上下文中指定的非布尔类型的表达式,靠近 ')'。错误
【发布时间】:2020-05-05 00:02:18
【问题描述】:

我试图显示别名 [totalmonthly] 的最大值,我试图输入 {SUM(([Price]-[CostToMake])* MonthlySales)} 但仍然没有任何显示。我在这里做错了什么?

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

我收到错误:

消息 4145,第 15 级,
在预期条件的上下文中指定的非布尔类型表达式,靠近 ')'

【问题讨论】:

    标签: sql sql-server ssms


    【解决方案1】:

    使用TOP (1)ORDER BY

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

    我假设您的查询产生了错误而不是错误的结果。

    【讨论】:

      猜你喜欢
      • 2020-05-29
      • 2017-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多