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

使用子查询左连接两张表时遭遇语法错误求助

问题分析与解决

可见语法错误修正

你给出的SQL片段存在两个直接导致Msg 156错误的问题:

  • SELECT列表最后一列SUM(B.QUANTITY) AS QUANTITY末尾多了一个逗号,SQL不允许列定义以逗号结尾,必须删除该逗号;
  • 子查询中引用的表名Table是SQL保留关键字,需要用方括号[Table]包裹,避免语法冲突。

另外,使用SUM聚合函数时,非聚合列[SEASON]必须出现在GROUP BY子句中,否则会触发新的语法错误。修正后的基础SQL片段如下:

SELECT 
    [SEASON],
    SUM(B.QUANTITY) AS QUANTITY
FROM
    (SELECT
         QUANTITY, WAREHOUSE,
         CASE SUBSTRING(sku, 3, 1)
             WHEN '1' THEN 'SS'
             ELSE 'FW'
         END + SUBSTRING(sku, 1, 2) [SEASON]
     FROM 
         [Table]
    ) B
GROUP BY [SEASON]

关于'Msg 102, Level 15, State 1, Line 36: 'PM' 附近有语法错误'

当前提供的SQL片段未出现'PM',推测该错误来自你未贴出的左连接部分代码,常见原因包括:

  • 'PM'作为表名/别名时,是拼写错误或未用方括号包裹的SQL保留关键字;
  • 左连接语句存在语法缺陷,比如遗漏ON关键字、括号不匹配、多余逗号;
  • 涉及'PM'的表达式存在错误,比如函数调用格式不对、字符串拼接符号使用不当。

需要检查第36行附近包含'PM'的代码段,确保语法符合SQL规范。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 08:15:43