Mit einem kleine Sript geht es vieleicht, mal so aus dem Stand:
Code:
ALTER TABLE T_ARTIKEL ADD TEMP INTEGER;
update tabelle a
set a.temp = (select sum(b.rueckstand) from tabelle b where (b.artikel_id = a.artikel_id))
-(select sum(c.anzahl) from tabelle c where (c.artikel_id = a.artikel_id) and (c.archiv_id < a.archiv_id));
update tabelle
set anzahl = 0,
temp = 0
where (temp > anzahl);
update tabelle
set anzahl = anzahl - temp,
temp = 0
where (temp > 0);