进销存三表联合查询

SELECT a.jiezhuan_prod_code as 商品代码,a.jiezhuan_prod_name as 商品名称,
IFNULL(b.jiezhuan_count,0) as 期初数量,IFNULL(b.jiezhuan_money,0) as 期初金额,
IFNULL(c.入库数量,0) as 入库数量,IFNULL(c.入库金额,0) as 入库金额,
IFNULL(d.出库数量,0) as 出库数量,IFNULL(d.出库金额,0) as 出库金额,
IFNULL(b.jiezhuan_count,0)+IFNULL(c.入库数量,0)-IFNULL(d.出库数量,0) as 库存数量,
round((IFNULL(b.jiezhuan_money,0)+IFNULL(c.入库金额,0)-IFNULL(d.出库金额,0))/(IFNULL(b.jiezhuan_count,0)+IFNULL(c.入库数量,0)-IFNULL(d.出库数量,0)),2) as 库存单价,
IFNULL(b.jiezhuan_money,0)+IFNULL(c.入库金额,0)-IFNULL(d.出库金额,0) as 库存金额
from (select jiezhuan_prod_code,jiezhuan_prod_name from yiyun_kucunjiezhuan 
UNION select prod_code,prod_name from yiyun_ruku 
union select prod_codechuku,prod_namechuku from yiyun_chuku ORDER BY  jiezhuan_prod_code) as a 
left join (SELECT * from yiyun_kucunjiezhuan) as b on a.jiezhuan_prod_code=b.jiezhuan_prod_code
left join (SELECT prod_code,sum(ruku_count) as 入库数量,sum(ruku_money) as 入库金额 from yiyun_ruku group by prod_code) as c on a.jiezhuan_prod_code = c.prod_code
left join (select prod_codechuku,sum(chuku_count) as 出库数量,sum(chuku_money) as 出库金额 from yiyun_chuku GROUP BY prod_codechuku) as d on a.jiezhuan_prod_code = d.prod_codechuku
GROUP BY a.jiezhuan_prod_code ORDER BY 库存金额 desc

  

posted @ 2023-02-04 14:09  依云科技  阅读(42)  评论(0)    收藏  举报