Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.033 c
9-1080968934
Voland2000
2004-04-03 09:08
2004.07.25
Движение спрайта


1-1089310224
limon_
2004-07-08 22:10
2004.07.25
JPEG и масштаб


1-1089810669
ПсихЪ_просто
2004-07-14 17:11
2004.07.25
Отслеживание нажитий на динамически-формируемые элементы формы


3-1088411079
TL
2004-06-28 12:24
2004.07.25
InterBase


14-1088788528
_none_
2004-07-02 21:15
2004.07.25
Почему вы не явились на неофициальную ММП?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский