У меня есть этот запрос, и мне нужно включить еще одно объединение в таблицу с именем "likes", где updates.id = likes.update_id. В этом соединении будет 0 или более совпадений.
"SELECT * FROM users
INNER JOIN updates ON users.remote_id=updates.owner_id
ORDER BY updates.status_time DESC LIMIT 50"
Возможно, это довольно просто, но я не смог найти ни одного примера для такого запроса.
Ситуация в основном такова, что я отображаю список предметов. Я делаю соединение в таблице пользователей, чтобы получить пользователя, создавшего каждый элемент. Мне также нужно объединить таблицы «лайки», чтобы показать 0+ людей, которым понравился каждый элемент.
РЕДАКТИРОВАТЬ: Мое решение
Хорошо, вот успешное объединение и объединение повторяющихся результатов (из-за того, что для каждого обновления есть несколько «лайков») с использованием GROUP_CONCAT.
"SELECT users.*,updates.update_id,updates.content,updates.status_time,
GROUP_CONCAT(likes.liker SEPARATOR ',') AS liked_by
FROM updates
LEFT OUTER JOIN likes ON updates.update_id = likes.update_id
JOIN users ON users.remote_id = updates.owner_id
GROUP BY updates.update_id
ORDER BY updates.status_time DESC
LIMIT 200"