0
我有3个表意外结果加入
- 赞助= ID(PK),图像,链接
- sponsor_tier = ID(PK),名称
- sponsor_tier_rel = ID(PK), sponsor_id(FK发起人表ID),sponsor_tier_id(FK sponsor_tier表ID)
我做一个查询这样的:
$stmt2 = $db_connection->prepare("SELECT
sponsor.image,
sponsor.link
FROM
sponsor_tier_rel
INNER JOIN sponsor_tier
ON sponsor_tier_rel.sponsor_tier_id = 8
INNER JOIN sponsor
ON sponsor_tier_rel.sponsor_id = sponsor.id
");
我应该得到10个结果(因为在sponsor_tier_rel表中只有10个条目),但是我得到了80个结果,每个sponsor_tier_rel条目重复8次。
我在这里做错了什么?
您的查询中有一个交叉连接。 sponsor_tier没有加入任何东西 – GurV
@GurwinderSingh我搞砸了,并在这复杂。您的评论已被帮助 – user2287474
'SELECT sponsor.image,sponsor.link FROM sponsor_tier_rel INNER JOIN sponsor ON sponsor_tier_rel.sponsor_id = sponsor.id WHERE sponsor_tier_rel.sponsor_tier_id = 8'就是所有需要的东西。如果您提交作为答案,我会接受@GurwinderSingh – user2287474