我有两个表,订单和库存,我需要用可用的库存填写订单,但是我可以使运行总和可以使用
CREATE TABLE `PEDIDOS` ( `N_PEDIDO` INTEGER, `COD_MATERIAL` INTEGER, `CAJAS_PEDIDOS` INTEGER )
CREATE TABLE `STOCK` ( `COD_MATERIAL` INTEGER, `CAJAS` INTEGER )
sql
SELECT PEDIDOS.N_PEDIDO,
PEDIDOS.COD_MATERIAL,
PEDIDOS.CAJAS_PEDIDOS,
STOCK.CAJAS,
sum(PEDIDOS.CAJAS_PEDIDOS) - STOCK.CAJAS as 'CAJAS_ASIGNADAS'
FROM PEDIDOS
INNER JOIN STOCK
ON PEDIDOS.COD_MATERIAL = STOCK.COD_MATERIAL
GROUP BY PEDIDOS.COD_MATERIAL, PEDIDOS.N_PEDIDO
ORDER BY PEDIDOS.N_PEDIDO, PEDIDOS.COD_MATERIAL;
我希望结果
Order Material Qty Ord Stock Balance
20001 100001 500 300 -200
20001 100002 200 200 0
20001 100003 40 50 10
20002 100001 30 300 -230
20002 100003 50 50 0
http://sqlfiddle.com/#!7/0a4d6/1
这是解决方案,也许可以帮助别人
http://sqlfiddle.com/#!7/0a4d6/79/0
是在sqlite中制作的