Сложность с объединением 3 таблиц в запросе в php

У моей базы данных есть 3 таблицы, в которые я хочу получить доступ в запросе select, но я не могу заставить его работать. Выбор из 2 таблиц отлично работает, поэтому я знаю, что все остальное работает отдельно от моего кода для выбора из 3 таблиц. Моя база данных создана на PHPmyadmin

Таблицы заключаются в следующем:

forum_replies

  • reply_id
  • topic_id
  • Идентификатор пользователя
  • REPLY_TEXT
  • дата ответа

forum_topics

  • topic_id
  • category_id
  • Идентификатор пользователя
  • TOPIC_TITLE
  • topic_description
  • topic_date

пользователи

  • Идентификатор пользователя
  • имя пользователя

Это код, который я пытался использовать, и показывает поля, которые я хочу выбрать:

$queryreply = "SELECT forum_replies.reply_id, forum_replies.topic_id, forum_replies.user_id, forum_replies.reply_text, forum_replies.reply_date, users.user_id, users.username forum_topics.topic_id,forum_topics.topic_title, forum_topics.topic_date FROM forum_replies JOIN forum_topics ON forum_replies.topic_id = forum_topics.topic_id JOIN users ON forum_replies.user_id = users.user_id "; $result = mysql_query($queryreply) or die (mysql_error()); $row = mysql_fetch_array($result); 

Пример в коде будет оценен. благодаря

Используйте этот запрос:

 SELECT a.reply_text, a.reply_date, b.topic_title, c.username FROM forum_replies a LEFT JOIN forum_topics b ON a.topic_id=b.topic_id LEFT JOIN users c ON a.user_id=c.user_id // apply WHERE, ORDER, GROUP if needed 

Помимо ошибок синтаксиса, вы должны использовать LEFT JOIN и псевдоним таблицы в вашем случае.


Чтобы показать также имя пользователя создателя темы, вы можете настроить запрос на следующее:

 SELECT a.reply_text, a.reply_date, b.topic_title, c.username AS reply_user, (SELECT username FROM users WHERE user_id=b.user_id) AS topic_creator FROM forum_replies a LEFT JOIN forum_topics b ON a.topic_id=b.topic_id LEFT JOIN users c ON a.user_id=c.user_id // apply WHERE, ORDER, GROUP if needed 

Вы пропустите , после users.username ..

 SELECT forum_replies.reply_id, forum_replies.topic_id, forum_replies.user_id, forum_replies.reply_text, forum_replies.reply_date, users.user_id, users.username, forum_topics.topic_id,forum_topics.topic_title, forum_topics.topic_date