|
|
|
| Привет всем. Помогите решить проблему со сложным (для меня) запросом. Сейчас попытаюсь в кратце описать что к чему...
Имеется 3 таблицы: post (поля: postID,cat), category (catID) и comments (post). Написал только главные поля, с которыми нужно работать.
Необходимо вывести всю инфу из таблицы post, где post.cat=category.catID и посчитать колво строк в таблице comments, где comments.post=post.postID
Запрос без посдчета кол-ва строк (он ниже) это все просто для меня, а вот дальше...
SELECT * FROM post,category WHERE post.cat=category.catID ORDER BY post.date desc
|
Помогите пожалуйста :) | |
|
|
|
|
|
|
|
для: Katakikuto
(07.05.2008 в 21:31)
| | Что-то вроде такого:
SELECT *,count(t3.*) as comments_count FROM post t1
LEFT JOIN category t2 ON t1.cat=t2.catID
LEFT JOIN comments t3 ON t1.postID =t3.postID
GROUP BY t1.postID
ORDER BY t1.post.date desc
|
| |
|
|
|
|
|
|
|
для: Axxil
(07.05.2008 в 21:54)
| | Axxil, спасибо тебе огромное! Достаточно было просто мне намекнуть что это все делается путем объединения таблиц :)
PS. у тебя в запросе пару ошибок есть (count(t.3*) - t.3 пока не известно какой таблице принадлежит, t1.postID =t3.postID - t1.postID равняется просто t3.post, и t1.post.date - просто t1.date), но это далеко не важно. Если бы я все полностью описал как пологается, то наверняка все написано было бы верно.
Еще раз спасибо тебе огромное :) | |
|
|
|
|
|
|
|
для: Katakikuto
(08.05.2008 в 01:32)
| | Ну я ж не на оценку запрос писал :)))
Схематично. Словами дольше бы получилось.
> t.3 пока не известно какой таблице принадлежит
Как это 8-0 ? Второй JOIN чётко опредеяет алиас для таблицы comments - t3 | |
|
|
|