2017-02-01 9 views
0

Я сотворенный сводную таблицу в Oracle для извлечения данных из довольно большой и сложной таблицы, чтобы попытаться использовать данные для слияния с некоторыми буквамиExtract Oracle Сводные таблицы в CSV-файл

В идеале, что мне нужно сделать это, чтобы затем экспортировать данные в файл CSV для передачи в решение гибридной почты, которое мы имеем здесь.

Я борюсь с синтаксисом того, как экспорт в файл CSV может работать в этом случае, поскольку некоторые из столбцов создаются как часть сводного процесса.

Я также подумал о создании временной таблицы, используя «создать глобальную временную таблицу как select * from», а затем запрос для сводной таблицы. Однако попытаться это, а затем попытаться выбрать из таблицы, созданной сводами к другому осложнению, как я не могу запросить динамически созданный столбец, как она окружена «» одинарные кавычки.

Любые идеи/комментарии предложения с благодарностью приняты

запрос, чтобы создать сводную таблицу выглядит следующим образом

select * 
from 
(
select 
BAA_QSA_ID , 
BAA_ASM_ID , 
BAA_SUBJECT_ID , 
PER_FIRST_NAMES ||' '|| per_surname as per_name, 
case 
    when BAA_QST_DESC = 'Name of Person or Organisation of contact and their contact details' then 'PER_ORG_OF_CONTACT' else BAA_QST_CODE end as BAA_QST_CODE, 
case 
    when BAA_QST_TYPE = 'QUE' then BAA_QUE_VALUE 
    when BAA_QST_TYPE = 'RVA' then (select RVA_DESC from o_Ref_values where BAA_RVA_VALUE = RVA_CODE and RVA_DOMAIN = 'CONTACT_OUTCOME') 
end as answer 
from 
BO_ASSESSMENT_ANSWERS left join o_persons on BAA_SUBJECT_ID = PER_ID 
where 
BAA_QSA_ID='A1457' 
to_date(BAA_ASM_END_DATE,'DD/MM/YYYY') = to_Date(SYSDATE,'DD/MM/YYYY') 
and 
(BAA_QST_CODE = 'CONTACT_OUTCOME' or BAA_QST_DESC = 'Name of Person or Organisation of contact and their contact details') 
order by 3 
) 
PIVOT 
(
MAX(ANSWER) 
for BAA_QST_CODE in ('CONTACT_OUTCOME','PER_ORG_OF_CONTACT') 
) 

таблица, которая выходит из него выглядит вполне нормально, за исключением того, что в двух последних столбцах, те, созданные из поворота имеют имена, окруженные одинарные кавычки, как показано в SQL, который создает столбцы

+0

Можете ли вы опубликовать запрос (или, по крайней мере, образец его), с которым вы пытаетесь работать, и объяснить пример этого примера? – GurV

ответ

0

Я думаю, что на самом деле я теперь может быть на пути к решению этого на основе сообщения, которое я видел перед тем, как я закрыл прошлую ночь.

Проблема с будучи в состоянии запросить временную таблицу была основана на том факте, что я был неправильно созданием столбцов в сводной таблице

поворотные следует читать PIVOT ( MAX (ответ) для BAA_QST_CODE в («CONTACT_OUTCOME» как CONTACT_OUTCOME «PER_ORG_OF_CONTACT», как PER_ORG_OF_CONTACT) )

имена столбцов становятся запрашиваемых и я полагаю/надеюсь, что я должен быть в состоянии извлечь из временной таблицы в CSV файл

+0

Не забывайте, что новый инструмент SQLcl имеет встроенный CSV-выход, а также другие форматы вывода. – gregory

+0

К сожалению, среда, в которой я работаю, не особенно продвинута в этом отношении, поэтому мне придется сделать это «старая школа» как часть сценария оболочки, так как это то, что мы хотим, чтобы запустить за ночь – Rick

+0

Получил это. Вы видели предложение Тома для CSV: https://asktom.oracle.com/pls/asktom/f?p=100:11:0::NO::P11_QUESTION_ID:88212348059 – gregory

Смежные вопросы