MYSQL 语法错误 LEFT JOIN

Posted

技术标签:

【中文标题】MYSQL 语法错误 LEFT JOIN【英文标题】:MYSQL Syntax Error LEFT JOIN 【发布时间】:2012-09-14 15:38:28 【问题描述】:

我在试图找出这个语法错误时遇到了问题。下面是 SQL 查询:

SQL 查询

SELECT oh.date_modified, oh.physicianNote, os.name AS status
FROM order oh 
LEFT JOIN order_status os ON oh.order_status_id = os.order_status_id
WHERE oh.order_id = '118' AND os.language_id = '1'
ORDER BY oh.date_added ASC LIMIT 0,10

SQL 错误

1064 - 您的 SQL 语法有错误;检查手册 对应于您的 mysql 服务器版本,以便使用正确的语法 'order oh LEFT JOIN order_status os ON oh.order_status_id = os.order_status_i' 在第 2 行

不太清楚有什么问题。

【问题讨论】:

【参考方案1】:

ORDER 是一个reserved word。用反引号引用它:

SELECT   oh.date_modified, oh.physicianNote, os.name AS status
FROM     `order` oh LEFT JOIN order_status os USING (order_status_id)
WHERE    oh.order_id = '118' AND os.language_id = '1'
ORDER BY oh.date_added
LIMIT    0,10

【讨论】:

【参考方案2】:

“ORDER” 是保留字。这是错误。使用单词order反引号引用

【讨论】:

以上是关于MYSQL 语法错误 LEFT JOIN的主要内容,如果未能解决你的问题,请参考以下文章

MS Acess不支持多个left join(语法错误(操作符丢失)在查询表达式 xx中)

MySQL OUTER JOIN 语法错误

为啥 MySQL 会在 FULL OUTER JOIN 上报告语法错误?

为啥 MySQL 会在 FULL OUTER JOIN 上报告语法错误?

Mysql Join语法解析与性能分析

Mysql Join语法解析与性能分析