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

Вниз

Подскажите запрос   Найти похожие ветки 

 
AV ©   (2012-10-17 13:05) [0]

пусть есть данные

select 1 ORDERS, sysdate - dbms_random.value DT, dbms_random.value VAL from dual
union all
select 2, sysdate - dbms_random.value, dbms_random.value from dual
union all
select 3, sysdate - dbms_random.value, dbms_random.value from dual
union all
select 4, sysdate - dbms_random.value, dbms_random.value from dual
order by 1

1 | 17.10.2012 08:34:16 | 0,781980922675302
2 | 17.10.2012 12:20:27 | 0,924163847758543
3 | 17.10.2012 10:34:40 | 0,0281247363482412
4 | 16.10.2012 23:55:04 | 0,458829689388483

надо получить в строку

VAL1, VAL2, max(DT1, DT2), VAL3, VAL4, max(DT3, DT4)

0,781980922675302 | 0,924163847758543 | 17.10.2012 12:20:27 | 0,0281247363482412 | 0,458829689388483 | 17.10.2012 10:34:40

хочется в запросе, но как не возьмусь - монстр выходит

таблица всегда такой размерности,

пока на клиенте в переменные загнал,
VAL[i] := ds.fields[2].asFloat;
DT[i] := ds.fields[3].asDate;
ds.next;
а потом просто так и вывожу
VAL[0], VAL[1], max(DT[1], DT[2])...


 
Медвежонок Пятачок ©   (2012-10-17 13:23) [1]

wm_concat ?


 
AV ©   (2012-10-17 13:39) [2]

>> Медвежонок Пятачок ©  
не понял

т.е. неправильно
>> таблица всегда такой размерности,
в "ширину"
в длину - переменная, но всегда кратно 4
требуется
первая строка значение, вторая строка значение, максимум(дат 1,2 строки), третья строка значение, четвертая строка значение, максимум(дат 3,4 строки)

если таблица длиннее
то продолжить так же


 
AV ©   (2012-10-17 13:41) [3]

>> первая строка, вторая
строки отсортированы по первому полю


 
Медвежонок Пятачок ©   (2012-10-17 13:49) [4]

wm_concat?


 
AV ©   (2012-10-17 14:03) [5]


> Медвежонок Пятачок ©   (17.10.12 13:49) [4]
> wm_concat?
>

нет
This function is equivalent to the concatenation operator (||).
Надо оставить поля раздельными


 
AV ©   (2012-10-17 14:11) [6]

пока только приходит pipelined процедура, которая делает тоже самое, что сейчас делается на клиенте и выталкивает строки по мере формирования.

что сомнительно.


 
Медвежонок Пятачок ©   (2012-10-17 14:29) [7]

select 1,
(select one from something) as something,
(select ....) as whateverelse
from dual


 
AV ©   (2012-10-17 16:53) [8]


> select 1,
> (select one from something) as something,
> (select ....) as whateverelse

опять монстр получился
ладно, на клиенте будет пока пусть.


 
Медвежонок Пятачок ©   (2012-10-17 18:56) [9]

а какая разница, будет результат одним полем или набором полей?


 
AV ©   (2012-10-17 19:11) [10]

ну, так под вывод бы отформатировано было
и на каждые 4 строки не 8 цифр передавать, а 6.
Да, ерунда, короче. Просто хотелось узнать - можно ли как-то именно просто так сделать.


 
Игорь Шевченко ©   (2012-10-17 20:00) [11]


> можно ли как-то именно просто так сделать.


http://docs.oracle.com/cd/B19306_01/server.102/b14223/sqlmodel.htm ?


 
AV ©   (2012-10-18 08:26) [12]


> Игорь Шевченко ©   (17.10.12 20:00) [11]

похоже, да
но надо, конечно, еще до получения этого DS попробовать применить

Спасибо


 
Медвежонок Пятачок ©   (2012-10-18 08:42) [13]

внутри wm_concat, затем запрос к его результату через несколько substr


 
AV ©   (2012-10-18 09:50) [14]


> Медвежонок Пятачок ©   (18.10.12 08:42) [13]

да.. если не разберусь с [11]
Спасибо



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

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

Наверх




Память: 0.49 MB
Время: 0.051 c
2-1340710139
Xmen
2012-06-26 15:28
2013.03.22
Работа с потоком и как подружится с FTP


2-1329256529
Deltas
2012-02-15 01:55
2013.03.22
Что за... сообщение в Delphi XE2.


15-1340314077
ZV
2012-06-22 01:27
2013.03.22
Компонент Async32 не работает в С++


2-1337145645
Verner
2012-05-16 09:20
2013.03.22
Переопределение свойства класса-наследника


9-1193072476
lubass
2007-10-22 21:01
2013.03.22
Omega GDK 92