कुछ कारणों से 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 है।