sofmundi,
si te he entendido bien y no he confundido los nombres de tablas y campos, esto hace, creo, lo que pareces pedir:
Código SQL:
Ver originalUPDATE activos INNER JOIN
(SELECT t1.id_articulo, t1.id_requisicion, t1.unidad, t1.descripcion, t1.cantidad FROM
(SELECT id_articulo, id_requisicion, unidad, descripcion, cantidad FROM `facturas2`
ORDER BY id_requisicion DESC)t1
GROUP BY t1.id_articulo, t1.id_requisicion, t1.descripcion)t2 ON activos.descripcion = t2.descripcion
SET activos.cantidad = activos.cantidad - t2.cantidad
De todas formas, no sé si es exactamente lo mejor para ti. Para hacer la operación una vez y de manera general, tal vez, pero si estás añadiendo cambios quizás deberías intentar alguna otra cosa, porque la próxima vez que la apliques volverás a borrar los mismos valores, en caso de que no se hubiera añadido algo nuevo, y estarías restando algo que ya has restado... Mira eso despacio.