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

如何修正以下LEFT OUTER JOIN查询中的MySQL语法错误?

MySQL SQL语法错误修正

错误SQL片段

LEFT OUTER JOIN rule sod  ON ( 
    (
      xd.accou_id = sod.id 
      where  xd.item_type = 28
    ) 
    OR (
      pa.transaction_id = sod.id 
      AND pa.transaction_type = 28
    )
  ) 

报错信息

ERROR 1064 (42000): SQL语法错误;请查看与你的MySQL服务器版本对应的手册,了解在'where xd.item_type = 28 ) OR ( pa.transaction_id = sod.i'附近使用的正确语法

错误原因

在JOIN的ON关联子句中不能使用WHERE关键字,此处xd.item_type = 28是关联匹配条件的一部分,应该用AND替代WHERE来组合条件。

修正后的SQL片段

LEFT OUTER JOIN rule sod  ON ( 
    (
      xd.accou_id = sod.id 
      AND xd.item_type = 28
    ) 
    OR (
      pa.transaction_id = sod.id 
      AND pa.transaction_type = 28
    )
  ) 

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 23:55:22