MySQL выбрать дату, объединить статистические данные - как? - PullRequest
0 голосов
/ 23 апреля 2010

У меня есть статистика, которую я должен отчитываться ежемесячно.Мне нужен мой запрос, чтобы вернуть 0 для статистики, которых там нет.Единственный способ, которым я знаю, - это использовать SQL для создания списка дней в течение указанного периода времени и LEFT JOIN статистических данных, по которым мне нужно отчитываться.

Проблема в том, что .... Iникогда не выбирался из такой таблицы ... как мне это сделать?

Ответы [ 3 ]

0 голосов
/ 23 апреля 2010

Если значения NULL , используйте

SELECT IFNULL( statistic, 0 ) AS statistic FROM myTable;
0 голосов
/ 27 апреля 2010

В итоге я просто использовал SQL для извлечения данных, которые у меня есть за данный период, и обрабатывал все остальное на стороне PHP. Не совсем то, что я хотел, но это работает.

0 голосов
/ 23 апреля 2010

Сравните ваши возвращенные значения, для статистики, которой никогда не было, ваше возвращенное значение, вероятно, будет нулевым, все, что вам нужно, чтобы сравнить возвращаемое значение с нулевым, и если нулевое возвращаемое значение 0, в противном случае возвращает реальный результат

select s.Name , IFNULL(d.Value, 0) as Value
 from Statustic s
LEFT JOIN t_Data d on (d.Stat_ID=s.ID)

, и вы можете использовать эту ссылку, чтобы узнать больше на http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#function_isnull

...