首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我的(而不是复杂的)MySQL查询有什么问题?

我的(而不是复杂的)MySQL查询有什么问题?
EN

Stack Overflow用户
提问于 2012-01-11 14:24:01
回答 2查看 66关注 0票数 1

我可能两只眼睛都瞎了,但反复重复了很多版本和尝试.删除了连字符和AS语句..。

我总是在MySql5.1服务器上出现一个解析错误1064。我真的相信这是正确的,SQL回答:

有什么建议吗?

代码语言:javascript
复制
SELECT (dpa_articles.name, [...] corporations.isin) FROM corporations 
NATURAL JOIN corporations_dpa_articles ON (corporations.id = corporations_dpa_articles.corporation_id)
NATURAL JOIN dpa_articles ON (dpa_articles.id = corporations_dpa_articles.dpa_article_id)
NATURAL JOIN dpa_articles_dpa_categories ON (dpa_articles.id = dpa_articles_dpa_categories.dpa_article_id)
WHERE dpa_articles_dpa_categories.dpa_category_id = 28

(corporations.id=corporations_dpa_articles.corporation_id) #1064 -您的SQL语法出现了错误;请检查与MySQL服务器版本相对应的手册,以获得在第3行使用“ON

天然联接dpa_a”的正确语法。

先谢谢你。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-11 14:27:14

NATURAL JOIN不应该有ON子句。

连接条件是隐式的,并且基于列名。

您需要INNER JOIN,因为列名是不同的。id将不自然地加入到corporation_id

票数 2
EN

Stack Overflow用户

发布于 2012-01-11 14:25:19

您试过在join语句中重新包装ON子句吗?

另外,您可能需要考虑使用与natural join不同的连接。Natural join给您的控制权不如其他连接方法,我也不确定指定它所连接的列是否有效。inner join可能更合适。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8820893

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档