CREATE OR REPLACE VIEW V_HOCO AS SELECT hou_code ,selling_price ,cost_price ,delivery_cost ,regi_code ,valid_from AS effective_from ,least(nvl(valid_to ,to_date('2099' ,'yyyy')) ,nvl(next_valid_from ,to_date('2099' ,'yyyy'))) AS effective_to FROM (SELECT hou_code ,selling_price ,cost_price ,delivery_cost ,regi_code ,valid_from ,valid_to ,lead(valid_from) over(PARTITION BY cost.hou_code, regi_code ORDER BY valid_from) AS next_valid_from FROM costs cost WHERE cost_type = 'HOCO');