У меня три таблицы, нравится, пользователи и статусы. Поэтому я возвращаюсь из таблиц с симпатичными таблицами и присоединяюсь к likes table with user table
чтобы узнать, кому она понравилась, и присоединиться к likes table with statuses table
чтобы узнать, кто ее разместил.
Теперь хочу получить информацию о пользователе из status table
чтобы узнать, кто написал статус. Здесь возникает проблема.
SQL Fiddle http://sqlfiddle.com/#!9/d0707b/2
Мой текущий запрос
select l.*, s.* , a.id as aid, a.userName from likes l
left join
statuses s on l.source_id = s.id
left join
users a on l.user_id = a.id
where
l.user_id in (5,7)
or
(s.privacy='Public' and s.interest in ('mobile', 'andriod') )
order by l.id desc
Here s.user_id=a.id
Я хочу присоединиться к таблице статусов с пользовательской таблицей.
[Если вопрос непонятен, прокомментируйте, попытайтесь отредактировать]
Спасибо.
Вы должны снова присоединиться к таблице user
. Посмотрите здесь:
SELECT
l.*, s.*,
a.id AS aid,
a.userName,
b.userName
FROM
likes l
LEFT JOIN statuses s ON l.source_id = s.id
LEFT JOIN users a ON l.user_id = a.id
LEFT JOIN users b ON s.user_id = b.id
WHERE
l.user_id IN (5, 7)
OR (
s.privacy = 'Public'
AND s.interest IN ('mobile', 'andriod')
)
ORDER BY
l.id DESC