Reputation: 646
I have 3 tables
I do a query like this:
$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
");
and I SHOULD get 10 results (as there are only 10 entries in the sponsor_tier_rel table) but instead I get 80 results with each sponsor_tier_rel entry repeating itself 8 times.
What did I do wrong here?
Upvotes: 0
Views: 43
Reputation: 372
Your query is missing the join condition to sponsor_tier
table.
SELECT
sponsor.image,
sponsor.link
FROM
sponsor_tier_rel
INNER JOIN sponsor_tier ON sponsor_tier_rel.sponsor_tier_id =
sponsor_tier.id
INNER JOIN sponsor ON sponsor_tier_rel.sponsor_id = sponsor.id
WHERE
sponsor_tier_rel.sponsor_tier_id = 8
Upvotes: 1