Сводная инструкция, похоже, не в состоянии это сделать.
Да, потому что вы не пытаетесь повернуть свои строки в столбцы, вы пытаетесь выбрать * from ( выберите «2009042 Restraint 151214.pdf» v1 , 2009042 Restraint 170215.pdf ' v2 , ' 2009042 Restraint 240215.pdf ' v3 , '2009856 Ограничение 190215.pdf' v4 , '208272 Уведомление 120215.pdf' v5 , '208272 Ограничение 120215.pdf' v6 , '212598 Ограничение 160215.pdf' v7 , '213195 Извещение 130215.pdf' v8 от двойного ) t univot ( col1 для v в ( v1 , v2 , v3 , v4 , v5 , v6 , v7 , v8 ) ) из столбцов в строки.
Если в ваших столбцах был задан определенный набор имен, вы можете использовать UNPIVOT
следующее:
V COL1
--------------------------------
V1 2009042 Restraint 151214.pdf
V2 2009042 Restraint 170215.pdf
V3 2009042 Restraint 240215.pdf
V4 2009856 Restraint 190215.pdf
V5 208272 Notice 120215.pdf
V6 208272 Restraint 120215.pdf
V7 212598 Restraint 160215.pdf
V8 213195 Notice 130215.pdf
Уступая:
select *
from (
select '2009042 Restraint 151214.pdf',
'2009042 Restraint 170215.pdf',
'2009042 Restraint 240215.pdf',
'2009856 Restraint 190215.pdf',
'208272 Notice 120215.pdf',
'208272 Restraint 120215.pdf',
'212598 Restraint 160215.pdf',
'213195 Notice 130215.pdf'
from dual
) t
unpivot (
col1 for v in (
"'2009042RESTRAINT151214.PDF'",
"'2009042RESTRAINT170215.PDF'",
"'2009042RESTRAINT240215.PDF'",
"'2009856RESTRAINT190215.PDF'",
"'208272RESTRAINT120215.PDF'",
"'208272NOTICE120215.PDF'",
"'212598RESTRAINT160215.PDF'",
"'213195NOTICE130215.PDF'"
)
)
Если таких имен нет, все становится немного более волосатым, но все же выполнимым (возможно, в зависимости от неточно определенных соглашений об именах столбцов в Oracle):
V COL1
------------------------------------------------------------
'2009042RESTRAINT151214.PDF' 2009042 Restraint 151214.pdf
'2009042RESTRAINT170215.PDF' 2009042 Restraint 170215.pdf
'2009042RESTRAINT240215.PDF' 2009042 Restraint 240215.pdf
'2009856RESTRAINT190215.PDF' 2009856 Restraint 190215.pdf
'208272RESTRAINT120215.PDF' 208272 Restraint 120215.pdf
'208272NOTICE120215.PDF' 208272 Notice 120215.pdf
'212598RESTRAINT160215.PDF' 212598 Restraint 160215.pdf
'213195NOTICE130215.PDF' 213195 Notice 130215.pdf
Уступая:
UNION ALL
Конечно, если вы все равно готовы писать столько SQL, почему бы просто не использовать UNION ALL
, как предложил Гордон