Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Составление SQL-запросов > Выборка из 2х таблиц


Автор: oan 5.2.2010, 12:59
ИМЕЕМ
Есть таблица pages в которой хранятся статьи сайта:
id, category...

Есть таблица с комментариями comments:
id, id_msg...
в которой id - идентификатор самого комментария
id_msg - идентификатор статьи к которой относится комментарий - id_msg=id из таблицы pages

--------------------------------
НУЖНО
В списке статей показать сколько к каждой оставлено комментариев.

Я выбираю n записей и показываю их в цикле:
Код

SELECT * FROM pages WHERE category='$cat' ORDER BY date DESC LIMIT $nach,$n


а как теперь именно для этих записей из другой таблицы выбрать комментарии и их посчитать?
с одним то всё просто должно быть: 
Код

SELECT COUNT(*) FROM comments WHERE id_msg='$id'

а для списка не в цикле жеж выполнять ещё SQL запрос

подскажите пожалуйста, что туто можно сделать smile

Автор: Zloxa 5.2.2010, 13:02
Код

SELECT pages.* 
  ,(SELECT COUNT(*) FROM comments WHERE comments.id_msg=pages.id) comments_cnt
FROM pages WHERE category='$cat' ORDER BY date DESC LIMIT $nach,$n


Автор: oan 5.2.2010, 13:34
Zloxa огромное СПАСИБО!!! всё получилось
наверн не в той теме конечн будет сказано... но посоветуйте пож-то какую-нить литературку по SQL на русском

Автор: Simpliest 5.2.2010, 13:40
литературу не подскажу, но в свое время в понимании многих базовых вещей просто обалденно помогли упражнения на http://sql-ex.ru/?Lang=0

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)