SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 24.02.2012 14:11:22

saturnxxi
Участник
Зарегистрирован: 24.02.2012
Сообщений: 5

Добавить данные к результату

Доброго времени суток всем,

Подскажите пожалуйста, можно ли как-нибудь дополнить результат запроса. У меня в базе хранятся температуры по дням. Я хочу их отобразить на диаграмме. К сожалению данные есть не на каждый день. На диаграмме же должны быть отображены все дни из определенного промежутка времени. Как вставить в результат запроса несуществующие дни?


Больше спасибо.

Неактивен

 

#2 24.02.2012 15:04:33

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Добавить данные к результату

Добавьте их в таблицу данных? Или откуда вы собираетесь забирать недостающую
информацию?

Неактивен

 

#3 24.02.2012 15:17:56

saturnxxi
Участник
Зарегистрирован: 24.02.2012
Сообщений: 5

Re: Добавить данные к результату

Добавить их в таблицу не получится. Да данные я беру из базы.

Неактивен

 

#4 24.02.2012 16:08:30

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Добавить данные к результату

В смысле недостающие данные в другой таблице находятся? Тогда сделайте запрос к нескольким таблицам с помощью union

Неактивен

 

#5 24.02.2012 16:16:21

saturnxxi
Участник
Зарегистрирован: 24.02.2012
Сообщений: 5

Re: Добавить данные к результату

Нет, недостающих данных просто нет. Ситуация смоделирована, но она примерно такая: диаграмму можно построить для любого периода времени, будь то год, месяц или день. Дописывать нули в базу, во первых слишком накладно, во вторых бессмыслено, так как это только раздует таблицу и замедлит ее для других запросов, например группировке по источникам температуры. Сейчас "пустые" дни я добавляю программно после запроса, но процесс этот затруднительный, так как данные нужно подготавливать сначала (делать дату ключом в массиве) потом проверять какие дни отсутствуют, дополнять и лишь потом выводить. Вот я и хотел перенести это как-то на базу. Только не знаю как.

Неактивен

 

#6 26.02.2012 00:15:41

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Добавить данные к результату

То есть Вам нужно везде вставить нули? Не понятно, чего Вы добиваетесь.

У Вас есть данные за следующие числа: 1, 2, 4, 5. Что Вы напишете за 3 число?

Неактивен

 

#7 26.02.2012 18:11:10

saturnxxi
Участник
Зарегистрирован: 24.02.2012
Сообщений: 5

Re: Добавить данные к результату

Неужели 4 сообщения нужно потратить на то, чтобы тебя хоть как-то поняли? На третье число я вставлю 0, потому что в базе этого дня нет. Я уже это раза 2 сказал. Добиваюсь я лишь того, чтобы отображение данных на графике было адекватным. Какое это отношение имеет к моему вопросу?

Неактивен

 

#8 27.02.2012 19:16:41

saturnxxi
Участник
Зарегистрирован: 24.02.2012
Сообщений: 5

Re: Добавить данные к результату

Если вдруг кого-то еще заинтересует. Решения

Неактивен

 

#9 28.02.2012 12:10:53

evgeny
Гуру
Зарегистрирован: 04.05.2009
Сообщений: 335

Re: Добавить данные к результату

Во время не увидел пост.
В одном проекте приходилось столкнуться с этой задачей.
Я решил это, с помощью скрипта, создал таблицу с днями на ближайшие пару лет. А потом простым join-ом удобно склеивать и отображать нули.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson