You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL语法错误求助:关键字'FROM'附近语法不正确(错误156)

SQL语法错误排查与解决

错误原因

关键字'FROM'附近语法不正确的核心问题是:在SELECT子句的聚合函数SUM后错误使用了WHERE关键字。WHERE仅用于全局筛选行数据,不能直接嵌入列的计算逻辑中。需要通过CASE WHEN实现条件聚合,筛选符合DocumentType条件的行进行求和。

修正后的SQL代码

USE Intranet
DECLARE @StartDate date,
        @EndDate date

SET @StartDate = '6/1/2023'
SET @EndDate = '6/30/2023'

SELECT
a.CompanyID AS 'COID',
a.LocationID AS 'Location',
SUM(CASE WHEN a.DocumentType IN ('INInvoice', 'OEInvoice', 'WOInvoice') 
         THEN (ISNULL(a.ShipQty, 0)) * (ISNULL(a.UnitPrice, 0))
         ELSE 0 END) AS 'Original Sell Invoiced'

FROM DF_OrderLine as a
LEFT JOIN VibeNetProductClass as b
ON b.CompanyID = a.CompanyID
AND b.ProductClassID = a.ProductClassID
WHERE CAST(a.InvoiceDate AS date) >= @StartDate
AND CAST(a.InvoiceDate AS date) <= @EndDate

GROUP BY 
a.CompanyID,
a.LocationID

关键修改说明

  • 替换原代码中SUM(...) WHERE ...的错误写法,改用CASE WHEN判断DocumentType,仅对符合条件的行计算ShipQty * UnitPrice,不符合条件的返回0,再通过SUM完成聚合计算。
  • 取消对ELSE 0 END AS 'Original Sell Invoiced'的注释,确保列别名正确生效,让查询结果的列名清晰明确。

内容的提问来源于stack exchange,提问作者Julie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 23:25:53