SQL SELECT语句语法错误排查请求:请协助找出问题所在
SQL语法错误排查及修正
核心错误点
- 多值匹配语法错误:筛选SKU编号时使用了
ZERO_SALES.SKU_NUMBER =(233879, 659250, 240896),SQL中匹配多个值需用IN关键字,=仅支持单值匹配。
修正后的SQL语句
SELECT ZERO_SALES.STORE_NUMBER, COUNT(*) AS COLUMN0001, ZERO_SALES.SKU_NUMBER FROM MM4R5LIB.ZERO_SALES ZERO_SALES JOIN MM4R5LIB.INVMST INVMST ON ZERO_SALES.SKU_NUMBER = INVMST.INUMBR JOIN MM4R5LIB.OPORBK OPORBK ON INVMST.INUMBR = OPORBK.INUMBR AND ZERO_SALES.STORE_NUMBER = OPORBK.ISTORE JOIN MM4R5LIB.TBLSTT TBLSTT ON OPORBK.ISTORE = TBLSTT.STRNUM JOIN MM4R5LIB.TBLSTR TBLSTR ON TBLSTT.STRNUM = TBLSTR.STRNUM WHERE ZERO_SALES.STORE_NUMBER = 6009 AND ZERO_SALES.SKU_NUMBER IN (233879, 659250, 240896) GROUP BY ZERO_SALES.STORE_NUMBER, ZERO_SALES.SKU_NUMBER
额外优化说明
将原语句的隐式逗号连接改为显式JOIN语法,能更清晰表达表间关联逻辑,降低意外笛卡尔积风险,同时提升代码可读性。
内容的提问来源于stack exchange,提问作者Sarah Bolduc
相关产品推荐
相关产品推荐

