Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.25;
Скачать: CL | DM;

Вниз

Нужно написать запрос   Найти похожие ветки 

 
zorik ©   (2004-06-30 10:36) [0]

Есть таблица t1(date1 timestamp, a float, ...) и таблица t2(date1 timestamp, a float, ...). Нужно из таблицы t1 переместить в таблицу t2 записи за заданный месяц и вставить данные на первое число месяца в 00:00. Причем, если на первое число месяца в 00:00 даных в t1 нет - нужно взять предыдущие.
Например:
t1
date1            a
--------------------
20.05.1987 18:30 568
03.08.1999 05:00 123
05.02.2000 10:15 444
10.02.2000 11:20 657
28.02.2000 18:50 543
01.03.2000 22:30 547
03.03.2000 13:00 221

Задана дата: 02.2000
Должно получится:
t2
date1            a
--------------------
01.02.2000 00:00 123
05.02.2000 10:15 444
10.02.2000 11:20 657
28.02.2000 18:50 543

Полного решения не прошу. Меня интересует как взять одну последнюю запись (на начало месяца). Думаю что это надо оформлять в виде процедуры с параметрами месяц и год.
Спасибо!


 
Соловьев ©   (2004-06-30 10:38) [1]


>  Меня интересует как взять одну последнюю запись (на начало
> месяца).

order desc+ first


 
zorik ©   (2004-06-30 10:50) [2]

Можно и без desc и тогда last.
Но все дело в том что я хочу это оформить не в приложении, а в виде хранимой процедуры в самой базе, а из приложения просто вызвать ее, например Fill_t2(2000,2)!
Спасибо.


 
Курдль ©   (2004-06-30 11:04) [3]

Перемещать записи из одной таблицы в другую - есть противоречие концепции реляционных баз данных.


 
zorik ©   (2004-06-30 11:21) [4]

Согласен, но таблиц из которых перемещать будет 5-6 с разными данными и датами. Недостающие данные нужно заполнять предыдущими (с других таблиц), и расчет нужно проводить по таблице t2 для каждой записи а потом суммировать и групировать по разным критериям. Написать такой view думаю будет достаточно сложно.


 
Курдль ©   (2004-06-30 11:54) [5]


> Написать такой view думаю будет достаточно сложно.

А кто сказал про view? Надо правильно разместить данные, чтобы потом не танцевать танцы с бубнами вокруг "перемещать будет 5-6 с разными данными и датами".


 
zorik ©   (2004-06-30 12:19) [6]

Обясняю. Имеются данные изменений каких-то параметров. Таблица t1 - изменения групы параметров 1, t2 - групы параметров 2, t3 - групы параметров 3 и т. д. Они меняются в разное время. Могут вообще не менятся. Алгоритм расчета заключается в том что нужно разбить эти данные на интервалы в котором их состояние не изменялось и провести расчет по каждому интервалу. Размещать их в одной таблице? Думаю неверно! Можно хранимую процедуру испльзовать.
Пример.
t1
date1            a1   a2  ...
--------------------
20.05.1987 18:30 568
03.08.1999 05:00 123
05.02.2000 10:15 444
10.02.2000 11:20 657
28.02.2000 18:50 543
01.03.2000 22:30 547
03.03.2000 13:00 221

t2               b1, b2, ...
--------------------
03.02.1900 01.10 345
03.02.2000 10.25 111
12.08.2004 11.00 777

t3               c1, c2, ...
--------------------

Задана дата: 02.2000
Должно получится:
результ табл
date1            a1   b1  a2, b2, ...
-------------------------
01.02.2000 00:00 123  345
03.02.2000 10.25 123  111
05.02.2000 10:15 444  111
10.02.2000 11:20 657  111
28.02.2000 18:50 543  111



Страницы: 1 вся ветка

Текущий архив: 2004.07.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.027 c
4-1086596495
Alex44
2004-06-07 12:21
2004.07.25
drag n drop API


1-1089698381
DelphiNew
2004-07-13 09:59
2004.07.25
Ещё раз про TreeView


1-1089626589
Alexandr
2004-07-12 14:03
2004.07.25
Application.CreateForm


8-1083932415
Petrovitch
2004-05-07 16:20
2004.07.25
Как изменить разрешение (dpi) в BMP, JPG ?


3-1088538314
Studentik
2004-06-29 23:45
2004.07.25
Не могу создать индекс...