powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Pivot не Pivot
4 сообщений из 4, страница 1 из 1
Pivot не Pivot
    #39375404
dimyaz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пож-та, я правильно понимаю, что если в PIVOT группировать нечего, и значения линейные для трансформации из строк в столбцы, то воспользоваться PIVOT тут не получится?

Пример:

P_IDDTEXACT_BORDER116.12.2016 7:55:00BORDER_START116.12.2016 12:20:00BORDER_END218.12.2016 8:05:00BORDER_START218.12.2016 12:56:00BORDER_END318.12.2016 18:12:00BORDER_START320.12.2016 6:15:00BORDER_END420.12.2016 8:22:00BORDER_START420.12.2016 16:53:00BORDER_END522.12.2016 16:06:00BORDER_START524.12.2016 23:11:00BORDER_END

Желаемый результат:

P_IDBORDER_STARTBORDER_END116.12.2016 7:55:0016.12.2016 12:20:00218.12.2016 8:05:0018.12.2016 12:56:00318.12.2016 18:12:0020.12.2016 6:15:00420.12.2016 8:22:0020.12.2016 16:53:00522.12.2016 16:06:0024.12.2016 23:11:00

Запрос для теста:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
with data as (
  	select '16.12.2016 07:55:00', 'BORDER_START', 1 from dual union
  	select '16.12.2016 12:20:00', 'BORDER_END', 1 from dual union
  	select '18.12.2016 08:05:00', 'BORDER_START', 2 from dual union
  	select '18.12.2016 12:56:00', 'BORDER_END', 2 from dual union
  	select '18.12.2016 18:12:00', 'BORDER_START', 3 from dual union
  	select '20.12.2016 06:15:00', 'BORDER_END', 3 from dual union
  	select '20.12.2016 08:22:00', 'BORDER_START', 4 from dual union
  	select '20.12.2016 16:53:00', 'BORDER_END', 4 from dual union
  	select '22.12.2016 16:06:00', 'BORDER_START', 5 from dual union
        select '24.12.2016 23:11:00', 'BORDER_END', 5 from dual 
)
select * from data
...
Рейтинг: 0 / 0
Pivot не Pivot
    #39375416
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimyaz,

на этих данных достаточна группировка по P_ID
...
Рейтинг: 0 / 0
Pivot не Pivot
    #39375418
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
dimyaz,

получится, а "группировать нечего" - это на самом деле для случаев, если встретятся несколько записей подходящих, например, раскомментируй закомментированную строчку и сравни результаты:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
with data(dt,exact_border, p_id ) as (
  	select '16.12.2016 07:55:00', 'BORDER_START', 1 from dual union
  	select '16.12.2016 12:20:00', 'BORDER_END', 1 from dual union
--   select '16.12.2016 12:25:00', 'BORDER_END', 1 from dual union
  	select '18.12.2016 08:05:00', 'BORDER_START', 2 from dual union
  	select '18.12.2016 12:56:00', 'BORDER_END', 2 from dual union
  	select '18.12.2016 18:12:00', 'BORDER_START', 3 from dual union
  	select '20.12.2016 06:15:00', 'BORDER_END', 3 from dual union
  	select '20.12.2016 08:22:00', 'BORDER_START', 4 from dual union
  	select '20.12.2016 16:53:00', 'BORDER_END', 4 from dual union
  	select '22.12.2016 16:06:00', 'BORDER_START', 5 from dual union
   select '24.12.2016 23:11:00', 'BORDER_END', 5 from dual 
)
select * 
from data
pivot(
     max(dt) for exact_border in ('BORDER_START' as border_start,'BORDER_END' as border_end)
)

...
Рейтинг: 0 / 0
Pivot не Pivot
    #39375779
dimyaz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
xtender,
Спасибо!
Блин , вот один в один же писал вроде, то групповую функцию требовал, то потом он столбец там не видел.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Pivot не Pivot
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]