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




MySQL.RU - Webboard



Вернуться
pMA и PHP дают разные результаты ! о_о (jsk) 03/03/2011 - 17:42:49
      Re: pMA и PHP дают разные результаты ! о_о (jsk) 03/03/2011 - 18:29:17
      Re: pMA и PHP дают разные результаты ! о_о (Akina) 03/03/2011 - 19:47:45

> Original message text:
> From: jsk - 03/03/2011 - 17:42:49
> Subject:pMA и PHP дают разные результаты ! о_о
> -----------------
> прошу помощи, совета. никогда раньше с таким не сталкивался.
>
> есть таблицы
>
> votes : good | shipment | value
> goods : id | object
> contracts : id | code
> shipments : id | index | contract
>
> нужно вывести
>
> shipments.index | contracts.code | count
>
> запрос
>
> SELECT `shipments`.`index` , `contracts`.`code` , COUNT( * ) AS `count`
> FROM `votes`
> LEFT JOIN `goods` ON ( `goods`.`id` = `votes`.`good` )
> LEFT JOIN `shipments` ON ( `shipments`.`id` = `votes`.`shipment` )
> LEFT JOIN `contracts` ON ( `contracts`.`id` = `shipments`.`contract` )
> WHERE `votes`.`value` = '-1'
> AND `goods`.`object` = '1'
> GROUP BY `votes`.`shipment`
> ORDER BY `count` DESC
>
> в phpMyAdmin срабатывает как надо
>
> 3.7 | A03 | 1
> 5.6 | A03 | 1
> 6.1 | A03 | 1
>
> а в коде PHP
>
> $stats = mysql_query(...);
> if($stats) for($i = 0; $i < mysql_num_rows($stats); $i++)
> {
> $stat = mysql_fetch_array($stats);
> ...
> }
>
> выдает
>
> 2.2 | A03 | 3
> 3.1 | A03 | 1
> 4.1 | A03 | 1
> 2.3 | A03 | 1
> 3.7 | A03 | 1
>
> в чем моя ошибка и как надо правильно делать ??
>


From: Akina - 03/03/2011 - 19:47:45
Subject:pMA и PHP дают разные результаты ! о_о
-----------------
Запрос - некорректный.
Для полей, которые не использованы в агрегатной функции и не включены в группировку, выдаются значения полей случайных записей.

>как надо правильно делать

Отлаживать запрос на консоли и проверять его на строгое соответствие синтаксису и отсутствие неоднозначностей.


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
38031



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