|
Периоды времени
|
|||
---|---|---|---|
#18+
Приветствую! Есть таблица с двумя полями tablica (datetime T, unit c(10)). В поле datetime временные отметки 05/10/12 10:41, 05/10/12 12:20, 05/10/12 15.18 и т.д. В поле unit kamaz, belaz и т.д.Надо сделать таблицу tablica2: unit---- nachalo----------konec kamaz--05/10/12 10:41--05/10/12 15:18 И в таком виде периоды для всех значений поля unit.Период не более 6 часов,если больше,то вычисляется период для след. значения поля unit.Прошу помощи с решением ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2013, 15:59 |
|
Периоды времени
|
|||
---|---|---|---|
#18+
Решение должно быть сделано одним запросом? Или нужен просто код, решающий данную задачу? И образец dbf-файлика (или генерационный скрипт) дайте, а то набивать ваш пример за вас - как-то не то... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2013, 21:22 |
|
Периоды времени
|
|||
---|---|---|---|
#18+
AndreTM, Хотелось написать код решающий эту задачу.Пробовал сначала через max() min().В итоге попробовал сделать так: select tablica go top store datetime to dMinBegin go bottom store datetime to dMaxEnd scan store datetime to d dRazn=d-dMin if dRazn>32400 skip -1 exit endif endscan store datetime to dMax if !eof() skip store datetime dMin endif и т.д. до конца таблицы Считаю что так вчислять это коряво,может есть лучше способ? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2013, 11:39 |
|
Периоды времени
|
|||
---|---|---|---|
#18+
Я не вижу у вас здесь создания записей результирующей таблицы, так что сказать что-либо о вашей логике - нереально Не вижу и примера исходных данных. Я ведь не просто так прошу - я тонко намекаю, что вы как-то странно рассуждаете: создается впечатление, что вы приписываете получаемой программе какой-то интеллект Например, вы, видимо, думаете, что "она сама поймет, где интервалы начинаются и где заканчиваются, а где имеются пропуски начал и окончаний интервалов"... Неполнота исходных данных (или неполнота постановки задачи) - вот как у это называется :) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2013, 03:45 |
|
Периоды времени
|
|||
---|---|---|---|
#18+
AndreTM, Спасибо за участие.Может кому нить пригодится.Решил задачу так, для каждого значения поля unit нахожу начала и окончания искомых периодов, заношу эти значения в массивы,из них уже в поля таблицы nachalo и konec. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2013, 08:44 |
|
Периоды времени
|
|||
---|---|---|---|
#18+
Ну, всё равно сделали как-то не так... Я же говорю - не всё рассказали (и не показали, что за исходная информация вообще). Получается, у вас для каждого UNIT всегда имеется ровно два значения (или не более двух) DATETIME? Но тогда можно было обойтись и без массивов - просто получить отсортированную выборку, а затем из неё - выходную таблицу нужного формата. Даже одним запросом, при желании... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2013, 16:43 |
|
|
start [/forum/topic.php?fid=41&fpage=35&tid=1582789]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 140ms |
0 / 0 |