Ваши поля follow_id
и following
являются уникальными.Поскольку вы присоединяетесь к таблицам кандидатов и доноров, используя уникальное следующее поле, вам необходимо создать 2 подзапроса, которые извлекают соответствующую информацию из каждой таблицы, а также user_id из таблицы последователей.
Затем вы можетеделайте свои объединения из таблицы подписчиков в каждый подзапрос:
SELECT f.user_id,
can.firstname,
can.lastname,
don.firstname,
don.lastname,
can.image,
don.image
FROM followers f
LEFT JOIN (SELECT a.user_id,
a.following,
b.firstname,
b.lastname,
b.image
FROM followers a
INNER JOIN candidates b
ON a.following = b.user_id) can
ON f.user_id = can.user_id
LEFT JOIN (SELECT a.user_id,
a.following,
c.firstname,
c.lastname,
c.image
FROM followers a
INNER JOIN donors c
ON a.following = c.user_id) don
ON f.user_id = don.user_id
WHERE f.user_id = 222
LIMIT 9;