SELECT
news.news_id as news_id,
news.news_cpu as news_cpu ,
news.news_title as news_title,
news.news_intro as news_intro,
COUNT(comments.id) as news_comments
FROM
news
LEFT JOIN
comments
ON
(comments.comment_parent = news.news_id AND comments. comment_type = '0')
WHERE
news.news_status = '1'
GROUP BY
news.news_id
Должно работать
Если вы используйте MySQL то можно и без
Код:
as news_id,
as news_cpu ,
as news_title,
as news_intro,
_________________ Скрипты [PHP/JS] на заказ, в ЛС, недорого.
Добавление названий таблиц ничего не дало, в таблицах нет одинаковых полей.
Ваш запрос работает, но нет проверки на тип коментария, то есть он подсчитывает все коменты у которых comment_parent = news_id, может так случится что comment_parent у комментария с типом 1(фотографии) совпадёт с news_id в результате чего неправильный подсчёт.
Идея как бы простая, под разделы сайта разные таблицы, фото видео, новости, а комментарии хранятся в одной таблице, в которой есть тип коментария(новостной, фото, видео) и родитель коментария. который указывает на ID конкретной новости, или фотки в зависимости от типа.
Где-то закралась бага...
Кстати может есть какие тулзы для отладки SQL запросов? _________________ NextStage - live music competition
SELECT
news.news_id as news_id,
news.news_cpu as news_cpu ,
news.news_title as news_title,
news.news_intro as news_intro,
COUNT(comments.comment_parent) as news_comments
FROM
news
LEFT JOIN
comments
ON
(comments.comment_parent = news.news_id
AND comments.comment_type = '0'
)
WHERE
news.news_status = '1'
GROUP BY
news.news_id
Я свой пост подправил но вы видимо не заметили _________________ Скрипты [PHP/JS] на заказ, в ЛС, недорого.