To je v MySQL bolestivé z několika důvodů. Za prvé, MySQL nemá příliš dobrou podporu pro kumulativní součty, což je to, co chcete porovnávat.
A za druhé, vaše sada výsledků je trochu slabá. Smysluplnější je zobrazit vše ins
záznamy, které přispívají ke každému outs
záznam, ne jen jeden z nich.
Pro tento účel můžete použít spojení na kumulativních součtech, které vypadá takto:
select o.*, (o.to_quantity - o.quantity) as from_quantity,
i.*
from (select o.*,
(select sum(o2.quantity)
from outs o2
where o2.id <= o.id
) as to_quantity
from outs o
) o join
(select i.*,
(select sum(i2.quantity)
from ins i2
where i2.id <= i.id
) as to_quantity
from ins i
) i
on (o.to_quantity - o.quantity) < i.to_quantity and
o.to_quantity > (i.to_quantity - i.quantity)
Zde je SQL Fiddle.