Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




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, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
17584



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |