Соединение нескольких столбцов из таблицы a в таблицу b - PullRequest
1 голос
/ 26 июля 2010

Я потратил немного времени на изучение этого здесь и на сайте 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 не уникален.

Я также пытался использовать оба псевдонима дляосновной запрос и во втором соединении, но он продолжает давать мне пропущенные ошибки поля.

Может кто-нибудь дать мне точку в правильном направлении, пожалуйста?

1 Ответ

2 голосов
/ 26 июля 2010

Да, вам нужен каждый раз новый псевдоним.Каждый раз, когда вы обращаетесь к таблице в запросе, вы должны использовать псевдоним Approprate.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...