在Access中使用SQL减去

时间:2015-09-24 19:53:10

标签: sql ms-access

我有两张桌子

Tab1
ProductID  Productname Qty
1          A            20
2          B            20      

Tab2
ProductID  Productname Qty
1          A            5
2          B            10 
1          A             6       

我想基于ProductID从tab1到tab2减去Qty,我想要一个像下面那样的表

ProductID     Qty
1              9
2              10

如何使用SQL和不使用SQL在MS Access中执行此操作。请帮忙。

2 个答案:

答案 0 :(得分:2)

select tab1.ProductID, 
       sum(tab1.qty) - sum(tab2.qty) as total
from tab1 
left join tab2 on tab1.ProductID = tab2.ProductID
group by tab1.ProductID

答案 1 :(得分:0)

我以为你可能会喜欢这个,这增加了Juergens的回答:

select tab1.ProductID 
       , tab1.Productname 
       , tab1.Qty
       , tab2.Qty
       , diff.total
from ( tab1 
       left join tab2 
       on tab1.ProductID = tab2.ProductID
     )  
     INNER JOIN 
    (  select tab1.ProductID, 
               sum(tab1.qty) - sum(tab2.qty) as total
        from tab1 
             left join tab2 
             on tab1.ProductID = tab2.ProductID
        group by tab1.ProductID
    ) AS Diff
    ON Diff.ProductID =  tab1.ProductID

关于在没有SQL访问的情况下这样做 - 你不能!您可以使用excel和vlookup公式(类似于在访问中将表连接在一起)