Nic*_*as. 3 php mysql sql select
我正在努力想要和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),...
Run Code Online (Sandbox Code Playgroud)
我正在尝试这个查询:
SELECT post.title
FROM post
INNER JOIN filter ON filter.reader ='2'
LIMIT 0 , 10
Run Code Online (Sandbox Code Playgroud)
我想要的是表格帖子中的所有标题,其中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
Run Code Online (Sandbox Code Playgroud)
要进一步了解联接,请访问以下链接: