如何修正以下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
相关产品推荐
相关产品推荐

