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

Вниз

SQL отнимающий содержимое одной строки от другой   Найти похожие ветки 

 
DelphiN! ©   (2005-06-16 14:37) [0]

Можно ли написать SQL запрос отнимающий содержимое одной строки от другой и прибавляющий разницу к какой либо переменной, для дальнейшего вывода суммы разниц

Тоесть есть таблица

Value1     03.02.05 23:00:01
Value2     03.02.05 24:00:01
Value4     04.02.05 03:30:00
Value3     04.02.05 01:27:00
Value4     04.02.05 07:00:00
.......           ..............

Так вот мне нужно узнать какая разница во времени(в часах) скажем от Value1 до Value2, а потом вывести эту разницу для каждого значения, возможно ли это на SQL, ото вручную перебирать ну очень уж долго


 
Дельфин   (2005-06-16 14:41) [1]

Нельзя.
Процедурой можно через FOR SELECT и буфферные переменные.


 
DelphiN! ©   (2005-06-16 14:45) [2]

Я делаю так своей процедурой, но очень все долго вычисляется(база большая)


 
Anatoly Podgoretsky ©   (2005-06-16 14:46) [3]

SQL запрос в каждой момент времени оперирует только одной строкой.


 
evvcom ©   (2005-06-16 14:46) [4]

Где-то можно, где-то нельзя... Ты бы хоть СУБД указал.


 
DelphiN! ©   (2005-06-16 14:48) [5]

СУБД FireBird 1.5


 
Digitman ©   (2005-06-16 14:58) [6]


> Можно ли написать SQL запрос


можно.

на PSQL пишется сначала ХП, в которой это запросто делается, а уж затем на DSQL пишется запрос (с использованием этой уже готовой ХП), получающий готовые данные


 
P.N.P. ©   (2005-06-16 14:58) [7]

Можно примерно так извратиться:

select
n.id,
n.date_time-(select nn.date_time from table nn where nn.id=n.id-1)
from table n where mod(n.id,2)=0

Здесь mod() - из UDF Rfunc


 
Anatoly Podgoretsky ©   (2005-06-16 15:01) [8]

Кстати это Value2     03.02.05 24:00:01 не допустимая дата, должно было серьезно обматюгать


 
Johnmen ©   (2005-06-16 15:39) [9]

>P.N.P. ©   (16.06.05 14:58) [7]

Модуль можно и без УДФ выделить.



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

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

Наверх




Память: 0.48 MB
Время: 0.068 c
4-1116811498
boalse
2005-05-23 05:24
2005.07.31
Узнать серийный номер винта (не тома)....


3-1119430308
Term
2005-06-22 12:51
2005.07.31
Использование TTable, связь по нескольким полям


3-1118250522
ANB
2005-06-08 21:08
2005.07.31
Как прочитать из поля и запихать в параметр число Int64 (Oracle)?


6-1113822641
Gek1
2005-04-18 15:10
2005.07.31
Socket Error 10038


4-1117711004
Dok
2005-06-02 15:16
2005.07.31
Максимально скрыть процесс...