微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – MySQL – INNER JOIN查询,具有多对多的关系

我正在努力想要和JOIN一起工作,但是我被困在了某个地方.

我有两张桌子:

Post (postid,title) with values (1,'a'), (2,'b'),(3,'c'),(4,'d'),...
Filter (postid,reader) values (1,3),(1,2),(1,6),(1,10),(2,1),...

我正在尝试这个查询

SELECT post.title
FROM post
INNER JOIN filter ON filter.reader ='2'
LIMIT 0 , 10

我想要的是表格帖子中的所有标题,其中id(在本例中为2)与表格过滤器中的阅读器匹配.

查询有效但我得到重复,所以我在某个地方错过了一个关键点?

解决方法:

您获得多个结果的原因是因为您的查询从两个表生成笛卡尔积,因为您没有指定表的连接方式.

SELECT post.title
FROM   post
       INNER JOIN filter 
           ON filter.postID = post.postID // tells how are tables be joined
WHERE  filter.reader = '2'
LIMIT 0 , 10

要进一步了解联接,请访问以下链接

> Visual Representation of SQL Joins

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐