2016-11-29 65 views
1

首先,我想说如果我说或做错了,我会抱歉,因为这是我第一次问我问题。我是新来的sql服务器,所以我试图找出自己,但我没有找到可以帮助我的东西,所以这就是为什么我在这里。我有3个不同的表:如何基于第三个表从2个不同的表中添加或减去数量?

1.tbl_Product with ID, Quantity and others; 
2.tbl_Type with ID, Name; 
3.tbl_Entry_Exit with ID,TypeID,ProductID,Quantity,Price,Total. 

我想补充或者TypeID = 1(Entry) or 2(Subtract) from tbl_Entry_Exit减去tbl_Product数量。 提前谢谢!

+2

你确实想要更新tbl_Product并永久存储该值,或者您只是想将此结果返回到查询中(而不修改基础数据)? –

+0

是的,我想永久更新它。 –

回答

2
UPDATE TP 
    SET TP.Quantity = TP.Quantity+ TE.Quantity 
    FROM tbl_Product TP inner join tbl_Entry_Exit TE 
    on TP.ID=TE.ProductID 
WHERE TE.TypeID=1 

UPDATE TP 
    SET TP.Quantity = TP.Quantity- TE.Quantity 
    FROM tbl_Product TP inner join tbl_Entry_Exit TE 
    on TP.ID=TE.ProductID 
WHERE TE.TypeID=2 

希望这项工作或做一些修改,将需要......

+0

是的,它的工作原理。谢谢! –

+0

你可以像:) – Engineer

+0

但是,如果我可能问你知道如果它是posibile从应用程序自动更新这个数据库?我有一个需要自动执行此操作的mvc应用程序。任何建议都是真实的。 –

0

不知道如何正确结果运算希望,但下面的查询将成为某种目的 -

SELECT CASE WHEN E.TypeID = 1 THEN (P.Quantity + E.Quantity) 
       WHEN E.TypeID = 2 THEN (P.Quantity - E.Quantity)       
      END AS DerivedQuantity 
    FROM tbl_Product P INNER JOIN tbl_Entry_Exit E 
    ON P.ID = E.ID 
+0

我尝试过,但它没有做正确的事情。但无论如何谢谢你! –

相关问题