Я потратил немного времени на изучение этого здесь и на сайте MySQL, но я немного запутался в двух вещах: какой тип объединения использовать и как (или если) использовать псевдоним.
Запрос:
SELECT forum_threads.id, forum_threads.forum_id, forum_threads.sticky,
forum_threads.vis_rank, forum_threads.locked, forum_threads.lock_rank,
forum_threads.author_id, forum_threads.thread_title, forum_threads.post_time,
forum_threads.views, forum_threads.replies, users.username AS author_username
FROM forum_threads LEFT JOIN users ON forum_threads.author_id = users.id
WHERE forum_threads.forum_id=XXX
Теперь этот запрос в настоящее время находит все темы с данного форума и присоединяет идентификатор автора темы к таблице имени пользователя.У меня также есть lastpostid
, который я также хотел бы включить в этот запрос и снова присоединиться к таблице пользователей, чтобы я мог также получить имя пользователя для последнего автора.
Я попытался добавить:
LEFT JOIN users ON threads.lastpostid = users.username
, но это просто приводит к ошибке псевдонима, поскольку users
не уникален.
Я также пытался использовать оба псевдонима дляосновной запрос и во втором соединении, но он продолжает давать мне пропущенные ошибки поля.
Может кто-нибудь дать мне точку в правильном направлении, пожалуйста?