2014-12-06 46 views
-1

我使用此查询,以保持我的股票,但它没有显示出确切的结果股票查询没有显示出确切的结果

select p.Product_Name Product 
     ,isnull(sum(d.qty),0) Purchase_Qty 
     ,isnull(sum(i.qty),0) Issue_Qty 
     ,(isnull(sum(d.qty),0)-isnull(sum(i.qty),0)) InStock 
from purchase_dtl d 
left join issue_dpt i on i.Product_ID=d.Product_ID 
right join product p on p.id = d.Product_ID 
group by Product_Name 

查询结果

Product | Purchase_Qty | Issue_Qty | InStock 
--------------------------------------------- 
Pen   1000   300  700 
Books   4000   1000  3000 

我确切的购买数量

Product | Purchase_Qty 
---------------------- 
Pen   500 
Books  2000 

我确切的问题数量

Product | Issue_Qty 
------------------- 
Pen   300 
Books  1000 

请帮我解决我的问题

感谢

回答

0
select p.Product_Name Product 
     , p.Purchase_Qty 
     , isnull(sum(i.qty),0) Issue_Qty 
     , p.Purchase_Qty-isnull(sum(i.qty),0) InStock 
from (select p.id, p.Product_Name, isnull(sum(d.qty),0) Purchase_Qty  
     from product p left join purchase_dtl d on p.id = d.Product_ID 
     group by p.id, p.Product_Name) p 
     left join issue_dpt i on i.Product_ID = p.id 
group by Product_Name, p.Purchase_Qty 

我想加盟purchase_dtlissue_dpt给你一些额外的行为Purchase_Qty

加入productpurchase_dtl首先要计算ulate汇总数据,然后再次加入issue_dpt

+0

工作完美...谢谢:) – 2014-12-06 17:56:12

+0

你能帮我多查询一下吗? – 2014-12-07 10:37:17

+0

@James Walker好的,请创建一个问题 – Multisync 2014-12-07 10:42:42