Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.043 c
1-1089534069
killer
2004-07-11 12:21
2004.07.25
Вызов одной формы из другой, которые находятся в одной DLL


1-1089639089
Death_R
2004-07-12 17:31
2004.07.25
Запись масcива в TVarRec


3-1088594200
backham 23
2004-06-30 15:16
2004.07.25
Читаю информ из файла в виде STRING!!!!


1-1089271062
Term
2004-07-08 11:17
2004.07.25
TToolButton


14-1088875817
Mishenka
2004-07-03 21:30
2004.07.25
Какой uses у операторов SQL?




   Наверх