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


Автор: Snowball 13.8.2008, 18:51
Вот что мы имеем на сегодняшний день:

Таблица dat:
id | authorid | title | text | ... и т.д.

Таблица users:
id | login | .....

Таблица comments:
id | parentid | userid | ...

Есть скрипт, выводящий таблицу dat. Запрос делаю так:

$sql="SELECT * FROM users.id AS userid, users.login AS userlogin, dat.* FROM dat INNER JOIN users ON dat.authorid=users.id";

Мне нужно вывести ещё количество комментариев к заданной записи из dat. На страницу выводится 50 записей, поэтому запрос в цикле (то есть "SELECT * FROM comments WHERE parentid=dat.id") писать не хочется... 

Вопрос: реально ли решить эту задачу одним SQL запросом? 

Автор: solenko 13.8.2008, 20:30
GROUP BY + COUNT

Автор: Akina 13.8.2008, 20:36
Цитата(Snowball @  13.8.2008,  19:51 Найти цитируемый пост)
Запрос делаю так:

Код

SELECT * FROM users.id AS userid, users.login AS userlogin, dat.* FROM dat INNER JOIN users ON dat.authorid=users.id

Это что же за СУБД, принимающая такой ДИКИЙ SQL-текст???

Автор: solenko 13.8.2008, 20:38
Akina, не такой уж он и дикий. Просто * и FROM  в начале лишние

Автор: Akina 13.8.2008, 20:41
solenko, топикстартер утверждает, что ЭТОТ код что-то выводит, причем это что-то - не ошибка.Очень хочется знать, где такое возможно.

Автор: Snowball 13.8.2008, 22:36
Akina, "* FROM" в начале не нужно, да. Случайно написал, ибо уже пол-дня с запросами вожусь...:(

Добавлено через 4 минуты и 35 секунд
solenko, если можно, пример какой-нибудь... Пожалуйста...

Автор: solenko 13.8.2008, 22:54
Snowball, а в мануал заглянуть? Там куча примеров. 
http://www.citforum.ru/database/sql_kg/2-5-3.shtml

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