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

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
  select *
  from xxwbd.xxwbd_o00323_setup_segments_sv s
  unpivot
  (
     segment_value
      for SEGMENT_NO in ("SEGMENT1","SEGMENT2","SEGMENT3","SEGMENT4","SEGMENT5","SEGMENT6","SEGMENT7","SEGMENT8","SEGMENT9","SEGMENT10"
                           ,"SEGMENT11","SEGMENT12","SEGMENT13","SEGMENT14","SEGMENT15","SEGMENT16","SEGMENT17","SEGMENT18","SEGMENT19","SEGMENT20")
  )
  unpivot
  (
       segment_text
      for SEGMENT_TEXT_NO in ("SEGMENT1_TEXT","SEGMENT2_TEXT","SEGMENT3_TEXT","SEGMENT4_TEXT","SEGMENT5_TEXT","SEGMENT6_TEXT","SEGMENT7_TEXT","SEGMENT8_TEXT","SEGMENT9_TEXT","SEGMENT10_TEXT"
                           ,"SEGMENT11_TEXT","SEGMENT12_TEXT","SEGMENT13_TEXT","SEGMENT14_TEXT","SEGMENT15_TEXT","SEGMENT16_TEXT","SEGMENT17_TEXT","SEGMENT18_TEXT","SEGMENT19_TEXT","SEGMENT20_TEXT")
  )



даже просто количество строк неверное

как сделать правильно ?

кроме того, вместо двух колонок SEGMENT_NO и SEGMENT_TEXT_NO со значениями "SEGMENT1"..."SEGMENT20" и "SEGMENT1_TEXT"..."SEGMENT20_TEXT"
нужно сделать одну колонку со значениями 1...20

короче
из одной исходной строки должно получаться 20
со значениями
SEGMENT_NO = 1
segment_value = [значение SEGMENT1]
segment_text = [значение SEGMENT_TEXT1]
...

SEGMENT_NO = 20
segment_value = [значение SEGMENT20]
segment_text = [значение SEGMENT_TEXT20]
...
Рейтинг: 0 / 0
двойной UNPIVOT
    #39364369
grok,

документацию не предлагать?
...
Рейтинг: 0 / 0
двойной UNPIVOT
    #39364387
grok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
синтах диаграмgrok,

документацию не предлагать?

спасибо большое
...
Рейтинг: 0 / 0
двойной UNPIVOT
    #39364754
Руслан Дамирович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
WITH
s AS ( 
  SELECT
    'segment1' AS segment1,
    'segment1_text' AS segment1_text,
    'segment2' AS segment2,
    'segment2_text' AS segment2_text
  FROM
    dual
)
SELECT
  *
FROM
  s
  UNPIVOT
    INCLUDE NULLS (
    ( segment_value, segment_text )
    FOR segment_no IN ( 
      ( segment1, segment1_text ) AS '1',
      ( segment2, segment2_text ) AS '2'
    )
  )
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / двойной UNPIVOT
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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