Това е болезнено да се прави в MySQL по няколко причини. Първо, MySQL няма много добра поддръжка за кумулативни суми, което искате да сравните.
И второ, вашият набор от резултати е малко слаб. По-разумно е да се показват всички ins
записи, които допринасят за всеки outs
запис, а не само един от тях.
За тази цел можете да използвате обединяване на кумулативни суми, което изглежда така:
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)
Тук е SQL Fiddle.