Oracle SQL。显示动态启动期间固定周期数的数据

时间:2016-09-09 19:45:41

标签: sql oracle

以下是我的查询:我想在PERIOD列中显示6个句点和12个句点:

SELECT 
item_id,
min(period),
min(picks_class),
min(vau_class),
min(warehouse_code),
min(stocked)

FROM
(select 
i.warehouse_code,
ih.item_id,
ih.picks_class,
ih.period,
ih.vau_class,
ih.stocked,
substr(i.pareto_set, 6, 6) AS "Policy"

from d_item_history ih
join d_item_snapshot i on ih.item_id=i.id

where ih.picks_class='P2'
and i.supplier_code='DC'
and ih.valid_for_calc='Y'
and ih.vau_class in ('C1', 'C2')
and i.warehouse_code='YAFD'
--    and ih.item_id='1427084842208'

order by ih.period asc
)
group by item_id
;

以下是代码的输出:我想显示每个ITEM_ID的选择类;从查询期和退出12个月后的6个时期。 如果/或如何,请尽可能让我知道。感谢所有帮助

Here is what the output looks like right now

1 个答案:

答案 0 :(得分:0)

如果您想要计算6个期间或12个期间,您是否希望按月计算?如果是这样,以下代码段可能会对您有所帮助:

select to_char(add_months(to_date(period,'YYYYMM'),-6),'YYYYMM') PERIOD_6,
to_char(add_months(to_date(period,'YYYYMM'),12),'YYYYMM')PERIOD_12
 from dual