Возникла задача просмотреть в БД личные сообщения пользователей с форума IPB. При этом хочется вывести их в удобном для понимания виде: ID сообщения, автор, тема, тело сообщения.
Т.к. эти данные хранятся в трех разных таблицах, то на помощь приходит оператор JOIN:
SELECT db_name.message_posts.msg_id, db_name.message_posts.msg_author_id, db_name.members.name, db_name.message_topics.mt_to_member_id, db_name.message_topics.mt_title, db_name.message_posts.msg_post FROM db_name.message_topics INNER JOIN db_name.message_posts ON db_name.message_posts.msg_topic_id = db_name.message_topics.mt_id INNER JOIN db_name.members ON db_name.members.member_id = db_name.message_topics.mt_starter_id ORDER BY msg_id DESC; |
Результаты выборки упорядочены в обратном порядке для того, чтобы видеть самые последние сообщения.