MySQL查询未根据查询(JOIN)获取正确的记录

MySQL查询未根据查询(JOIN)获取正确的记录,mysql,Mysql,我有两个简单的表,其构建形式如下: 表1 id - name 表2 id - name - post_id (table1.id Fkey) 我想要的是,从表1中获取数据,其中表1的id与表2的post_id匹配 这很简单,但我有37张唱片,而我只有13张 查询: SELECT posts.id FROM posts INNER JOIN favorites ON posts.id = favorites.post_id 执行上述查询时,结果为: 关系id=post_id共享的一些记录,其

我有两个简单的表,其构建形式如下:

表1

id - name
表2

id - name - post_id (table1.id Fkey)
我想要的是,从表1中获取数据,其中表1的id与表2的post_id匹配

这很简单,但我有37张唱片,而我只有13张

查询:

SELECT posts.id FROM posts INNER JOIN favorites ON posts.id = favorites.post_id
执行上述查询时,结果为:

关系id=post_id共享的一些记录,其余记录是随机的,post_id值为NULL

SELECT posts.id FROM posts LEFT JOIN favorites ON posts.id = favorites.post_id

37条记录在哪个表中,帖子?只有13条记录可能是正确的,因为并非所有帖子都在两个id匹配的收藏夹中。这有意义吗?你必须检查两者之间的id数据,看看存在什么。。。除非您正在寻找左连接,否则可能?从表1 T1、表2 T2中选择T1.*其中T1.id=T2.post_id-试试这个。我想它会返回您想要的结果。表1,我检查过的posts表,两个表中至少有24-25条记录由相同的id共享,这就是我为什么在这里提出这个问题的原因。问题是,记录没有按应有的方式显示!我知道如何加入,但我不知道我在这个查询中哪里搞砸了,因为这是一个非常简单的加入查询。