С помощью следующих 3 таблиц, как рассчитать баланс запасов для миллионов записей лучшим / быстрым способом?!
Как показывает мой опыт, использование объединения может занять менее 0,1 секунды, но не окончательный результат,
использование union может привести к окончательному результату, но это занимает 1x сек ...
stocktable
stid productid qty
1 1 100
2 2 200
sellstable
sellid stid qty
1 1 50
2 1 30
scraptable
scrapid stid qty
1 1 10
2 1 5
3 2 100
SELECT
a.stid,
qty,
sellid,
b.qty,
scrapid,
c.qty
FROM
stocktable AS a
LEFT JOIN sellstable AS b ON a.stid = b.stid
LEFT JOIN scraptable AS c ON a.stid = c.stid
1 100 1 50 1 10
1 100 1 50 1 5
1 100 2 30 1 10
1 100 2 30 1 5
2 200 null null 3 100
это быстро при использовании соединения для внутреннего запроса, но как подвести итог баланса ...
добавлена информация:
the result should be
1 5
2 100
спасибо!