两张有关联的表进行合
品号 摘要 入库数量 领出数量 领退数量 本月结存 A产品 进货 100 100 A产品 内部领料 100 0 合计 100 100 0 B产品 进货1 200 200 B产品 进货2 150 350 B产品 内部领料 100 50 300 合计 350 100 50 300 。。。。。。 有进货表一张,有品号,摘要,进货数量,如下 品号 进货 进货数量 A产品 进货 100 B产品 进货1 50 B产品 进货1 150 B产品 进货2 100 B产品 进货2 50 有领料单一张,有品号,领用部门,领用数量,如下 品号 领用部门 领用数量 A产品 内部 100 B产品 内部 50 B产品 内部 50 有退料单一张,有品号,退料部门,退还数量,如下 品号 退料部 退还数 B产品 内部 50
-------------------------------------------------------------------------------------
品号 摘要 入库数量 领出数量 领退数量 本月结存 A产品 进货 100 100 A产品 内部领料 100 0 合计 100 100 0 B产品 进货1 200 200 B产品 进货2 150 350 B产品 内部领料 100 50 300 合计 350 100 50 300 。。。。。。 有进货表一张,有品号,摘要,进货数量,如下 品号 进货 进货数量 A产品 进货 100 B产品 进货1 50 B产品 进货1 150 B产品 进货2 100 B产品 进货2 50 有领料单一张,有品号,领用部门,领用数量,如下 品号 领用部门 领用数量 A产品 内部 100 B产品 内部 50 B产品 内部 50 有退料单一张,有品号,退料部门,退还数量,如下 品号 退料部 退还数 B产品 内部 50-------------------------------------------------------------------------------------查询进货 select dbo.INVMB.MB002 AS '品名', dbo.PURMA.MA003 AS '摘要', sum(dbo.PURTH.TH015) AS '进货数量' from INVMB inner JOIN PURTH on INVMB.MB001=PURTH.TH004 and INVMB.MB002=PURTH.TH005 INNER join PURTG on PURTH.TH001=PURTG.TG001 AND PURTH.TH002=PURTG.TG002 inner join PURMA On PURTG.TG005=PURMA.MA001 where PURTH.TH004 LIKE '21%' OR PURTH.TH004 LIKE '22%' group by INVMB.MB002,PURMA.MA003 with rollup-------------------------------------------------------------------------------------查询出货 select INVMB.MB002 AS '品名', CMSMC.MC002 AS '摘要', SUM(INVTB.TB007) AS '转出数量' from INVMB inner JOIN INVTB on INVMB.MB001=INVTB.TB004 and INVMB.MB002=INVTB.TB005 LEFT join INVTA on INVTA.TA001=INVTB.TB001 AND INVTA.TA002=INVTB.TB002 inner join CMSMC On INVTB.TB013=CMSMC.MC001 WHERE INVTA.TA001='1201' AND INVMB.MB001 like '21%' or INVMB.MB001 LIKE '22%' GROUP BY INVMB.MB002,CMSMC.MC002-------------------------------------------------------------------------------------;with cte1 as ( select dbo.INVMB.MB002 AS '品名', dbo.PURMA.MA003 AS '摘要', sum(dbo.PURTH.TH015) AS '进货数量' from INVMB inner JOIN PURTH on INVMB.MB001=PURTH.TH004 and INVMB.MB002=PURTH.TH005 INNER join PURTG on PURTH.TH001=PURTG.TG001 AND PURTH.TH002=PURTG.TG002 inner join PURMA On PURTG.TG005=PURMA.MA001 where PURTH.TH004 LIKE '21%' OR PURTH.TH004 LIKE '22%' group by INVMB.MB002,PURMA.MA003 ), cte2 as ( select INVMB.MB002 AS '品名', CMSMC.MC002 AS '摘要', SUM(INVTB.TB007) AS '转出数量' from INVMB inner JOIN INVTB on INVMB.MB001=INVTB.TB004 and INVMB.MB002=INVTB.TB005 LEFT join INVTA on INVTA.TA001=INVTB.TB001 AND INVTA.TA002=INVTB.TB002 inner join CMSMC On INVTB.TB013=CMSMC.MC001 WHERE INVTA.TA001='1201' AND INVMB.MB001 like '21%' or INVMB.MB001 LIKE '22%' GROUP BY INVMB.MB002,CMSMC.MC002 ) select a.品名,a.摘要,b.进货数量 as 进货数量,c.转出数量 as 转出数量 ,b.进货数量-c.转出数量 as 结余 from (select 品名,摘要 from cte1 union all select 品名,摘要 from cte2 )a left join cte1 b on a.品名=b.品名 and a.摘要=b.摘要 left join cte2 c on a.品名=c.品名 and a.摘要=c.摘要
📱 扫码关注公众号
扫描二维码关注我们,获取更多精彩内容
实时更新 · 干货满满