|
MySQL.RU - Webboard
Вернуться
умножает одно на другое почему-то (крен) 27/09/2004 - 17:29:36
Re: умножает - потому что так правильно (Валентин) 28/09/2004 - 12:01:06
Re: умножает одно на другое почему-то (крен) 30/09/2004 - 07:43:46
> Original message text:
> From: крен - 27/09/2004 - 17:29:36
> Subject:умножает одно на другое почему-то
> -----------------
> есть 4 таблицы категории новостей-новости-оценки-комментарии
> при запросе количество комментариев умножается на количество выставленных оценок, кто подскажет что не так:
> $sql = "SELECT $dbtnewscat.newscat AS ct ,news.id AS newsid, news.date AS date,news.autor AS autor,news.image AS image, news.short AS short, AVG(vote.note) AS ocen , COUNT(comment.comment) AS allcount FROM newscat LEFT JOIN news ON newscat.newscat_id=news.tema LEFT JOIN vote ON news.id=vote.id_razdel LEFT JOIN comment ON news.id=comment.id_razdel GROUP BY $dbtnews.id ORDER BY newscat.newscat_id,news.date DESC LIMIT 10 ";
>
> т.е allcount увеличивается в ocen раз
>
From: Валентин - 28/09/2004 - 12:01:06
Subject:умножает - потому что так правильно
-----------------
Запрос выполняется правильно, причем такое будет в любом сервере БД, потому что куча левых объединений так и будет обрабатываться, т.е. будет левое нарастание строк, кол-во строк в предобработке будет умножаться для левых таблиц по количеству строк других таблиц...
т.е. сервер работает правильно, а ты от него хочешь дешевых фокусов :)
Попробуй count(distinct()), должно помочь.
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
17584
|
|