如何根据第三个表从2个不同的表中添加或减去数量?

时间:2016-11-29 09:31:15

标签: sql-server

首先,我想说对不起,如果我说或做错了,因为这是我第一次问我的问题。我是sql server的新手,所以我试着找出自己,但我找不到可以帮助我的东西,所以这就是我在这里的原因。我有3个不同的表:

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.

如果tbl_Product,我想在TypeID = 1(Entry) or 2(Subtract) from tbl_Entry_Exit中添加或减去数量。 先感谢您!

2 个答案:

答案 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

希望这项工作或需要进行一些修改......

答案 1 :(得分:0)

不确定op想要的正确结果,但以下查询可用于某些目的 -

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