Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос по запросу (:)) SQL


yanker ©   (2004-09-28 14:44:00) 

Имеется БД по суммарным пробегам автомобилей. Причем каждый день пробег пишется несколько раз. Требуется сгруппировать записи по номеру автомобиля, дате и суточному пробегу.
 SELECT
  a.numfac,
  int(a.datetime),
  MAX(a.allDistance)

 FROM length_table a
 GROUP BY a.numfac,int(a.datetime)

Этот скрипт не учитывает пробег автомобиля за предыдущие дни (т.е. в результате получаем не суточный пробег, а максимальный  пробег на текущий день). Хотелось бы учитывать максимальный пробег за предудущий день.

Спасибо...


Johnmen   (2004-09-28 18:05:00) [1]

Способов несколько. Напр. типа того:

SELECT
 a.numfac,
 int(a.datetime),
 MAX(a.allDistance)-MAX(b.allDistance) as S
FROM length_table a, length_table b
WHERE a.numfac=b.numfac AND
 int(a.datetime)=int(b.datetime-1.0)
GROUP BY a.numfac,int(a.datetime)


yanker   (2004-09-28 17:32:00) [2]

MS Access


Johnmen   (2004-09-28 16:06:00) [3]

СУБД то какая ?


yanker   (2004-09-28 16:02:00) [4]

А как спросить, чтобы получилось


yanker   (2004-09-28 15:59:00) [5]

А как нужно спросить, чтобы получилось?


Vlad   (2004-09-28 15:37:00) [6]


> yanker   (28.09.04 15:06) [4]

т.е. насколько я понял тебе нужно сгруппировать записи таким образом, чтоб в поле "пробег" получилась величина:
MAX(Пробег_за_текущий день) - MAX(пробег_за_предыдущий день)
?
Если так, то боюсь что одним запросом не получится...


yanker   (2004-09-28 15:06:00) [7]

в БД пишется суммарный пробег, т.е. пробег за всю жизнь автомобиля


Vlad   (2004-09-28 14:54:00) [8]

Неясно, какой показатель пишется в базу?
Фактический пробег, т.е. каждый раз пишут число которое показывает спидометр а/м, или же дельту между одной ДатойВременем и другой?


Sergey13   (2004-09-28 14:53:00) [9]

>Хотелось бы учитывать максимальный пробег за предудущий день.
Надо передать свое желание в БД. Т.е. добавить в запрос  
where a.datetime=предудущий день


Fishka   (2004-09-28 14:46:00) [10]

Интересно, почему MAX в запросе, а не SUM?


Наверх

Титульная страница Поиск, карта сайта Написать письмо