1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
declare @suppl_id decimal(12),
@ord_id decimal(12),
@nbr_jour decimal(10,2)
declare order_day cursor for
select SUPPLIER_ID,ORDER_ID,ceiling(avg(nbre_jours)) from
(select pur_order.SUPPLIER_ID ,pur_order.ORDER_ID,pur_order.ORDER_L_ID,DELIVERY_DATE_DELIVERY_ID,ORDER_DATE_DELIVERY_ID ,
DELIVERY_DATE_DELIVERY_ID- min(ORDER_DATE_DELIVERY_ID) nbre_jours, order_code_status ,order_status
from pur_order, pur_delivery
where pur_order.ORDER_L_ID = pur_delivery.order_l_id
and pur_order.supplier_id=pur_delivery.supplier_id group by pur_order.SUPPLIER_ID, pur_order.ORDER_ID, pur_order.ORDER_L_ID, DELIVERY_DATE_DELIVERY_ID, ORDER_DATE_DELIVERY_ID, order_code_status, order_status
)f
group by SUPPLIER_ID, ORDER_ID
open order_day
fetch order_day into @suppl_id,@ord_id,@nbr_jour
while @@FETCH_STATUS =0
begin
update pur_order
set order_avg_delay_first_deliver= @nbr_jour
where pur_order.SUPPLIER_ID=@suppl_id
and pur_order.ORDER_ID=@ord_id
fetch order_dayd into @suppl_idd,@ord_idd,@nbr_jourd
end
close order_day |
Partager