Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.093 c
1-1302154341
Дмитрий Белькевич
2011-04-07 09:32
2013.03.22
Разбудить спящий поток


15-1352731709
Kerk
2012-11-12 18:48
2013.03.22
Всякие полезные услуги в социальных сетях


2-1343366420
EgorovAlex
2012-07-27 09:20
2013.03.22
Хранение данных в dll, используемой несколькими процессами


15-1333244169
TUser
2012-04-01 05:36
2013.03.22
Все события невозможны


15-1351157222
Empleado
2012-10-25 13:27
2013.03.22
DB с четырьмя таблицами





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский