OK ... поэтому я весь день разбираюсь в сводных командах и просто не могу справиться с этим.SQL 11g Pivot Tables
Следующий сценарий дает мне месяцы и год (MON-YYYY), перечисленные с даты начала компонента, до текущей даты для трех компонентов (P_CATNR).
select x.*, nrb.p_catnr, pd.catnr
from
(select to_char(add_months(start_date, level-1),'Mon-YYYY') Month_from_NR
from (select (select min(selection_relse_date)
from [email protected]_to_cdsuk st
where substr(selection_no, 2, 99) = '2EDVD0017') start_date, sysdate end_date from dual)
connect by level <= months_between(trunc(end_date,'MM'), trunc(start_date,'MM'))+1) x,
part_description pd
INNER JOIN inventory_purchase ip
ON ip.part_no = pd.part_no
INNER JOIN scm_prodtyp pt
ON pt.prodtyp = pd.prodtyp
INNER JOIN oes_fod_match acp
ON acp.part_no = pd.part_no
INNER JOIN NCF_COMPPART ncf
ON ncf.item_part_no = pd.part_no
INNER JOIN oes_nrbom nrb
ON ncf.catnr = nrb.c_catnr
AND ncf.prodtyp = nrb.c_prodtyp
AND ncf.packtyp = nrb.c_packtyp
AND ncf.vernr = nrb.c_vernr
WHERE pd.cunr in ('649830', 'W30000')
AND pd.catnr = '2EDVD0017'
AND pd.fod_idc = 'Y'
AND pt.prodgrp = 'AW'
То, что я хотел бы сделать, это есть MONTH_FROM_NR перечислены в колонке, т.е.
Может кто-нибудь помочь, пожалуйста?
Благодаря
Привет, это положение в установлении срока даты? могу ли я изменить дату, добавив оператор select для определения даты начала и использования sysdate (текущая дата) в качестве даты окончания? Я пытался ... в (to_date ((выберите мин (selection_relse_date) от BDS_SELECTION_ORG @ sid_to_cdsuk ул где зиЬзЬг (selection_no, 2, 99) = '2EDVD0017'), 'DD-YYYY'), как d102007, to_date (SYSDATE, 'DD-YYYY'), как d112007) ... но получил эту ошибку ... ORA-56901: непостоянная выражение не допускается для поворота | UNPIVOT значения – SMORF
@SMORF в разделе определены столбцы , Я попытаюсь объяснить в ответе. Я уже написал в ответ, что вы не можете использовать подзапрос (= SELECT) в предложении IN. Если вы хотите использовать SELECT, вы должны использовать PIVOT XML вместо PIVOT, но результат будет не столбцами, а XML для каждой строки. – Multisync
@SMORF Я добавил пример, как вы можете использовать SELECT внутри IN-раздела – Multisync