Форум: "Базы";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];
ВнизНужно написать запрос Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.032 c