MySQL « Вывод комментариев

Всем привет. Есть две таблицы комментарии и пользователи. Таблица комментарии содержит id пользователя который его оставил, в таблице пользователи имя, фамилия, ник, аватар и прочее. На некоторой странице нужно вывести комментарии. Самый простой алгоритм, который напрашивается таков. Отобрать нужные нам комменты в SELECT. Для каждого коммента получить id пользователя, который его оставил, сделать SELECT, чтобы получить нужные данные автора комментария. Сохранять данные об авторах, например, в ассоциативный массив, чтобы в случае одинаковых авторов не делать лишних запросов. Проблема в том, что для вывода одной страницы нужно сделать 10-20-30, а то и более запросов. Как упростить процедуру?

1 ответов


Это можно сделать одним запросом. Посмотрите про join (соединение таблиц).
На вскидку:


select *
from comments c
   join users u
   on c.AUTHOR_ID = u.ID
where c.POST_ID=123
order by c.COMMENT_TIME;