Я проектирую сайт как pinterest (для изучения), и я хочу знать, какой запрос я должен сделать на главной странице, чтобы показать поток пользователя.Как избежать этого сложного запроса?
Я создал эти 6 столов:
users
boards
pictures
boards_pictures (many-to-many table)
followers
comments
И в доме, я делаю этот запрос, чтобы получить фотографии всех последователей.
SELECT users.username, pictures.link, comments.comment, boards.title
FROM boards_pictures, pictures, followers, users, comments, boards
WHERE (boards_pictures.id_user = followers.id_following)
AND (boards_pictures.id_picture = pictures.id)
AND (followers.id_user = $_session['userid'])
AND (users.id = followers.id_following)
AND (comments.picture_id = pictures.id)
AND (boards.id = boards_pictures.boards_id)
Есть ли способ избежать этого сложного запроса (JOIN с 6 таблицами)?
На это немного сложно ответить, не зная структуры таблицы для каждой таблицы. – saluce
присоединиться? Я не вижу ни одного одного JOIN – mkk
Это не приближается к сложному запросу (я пересматривал один из 1000 строк ранее ранее). Если вам нужно, чтобы все шесть таблиц присоединились ко всем из них, но никогда не использовали неявные объединения, они очень плохая практика программирования и антиспам SQL. Нет смысла учиться неправильно, использовать явные объединения только с этого момента. – HLGEM