SQL Server中两个单独表中两列之间的差异

SQL Server中两个单独表中两列之间的差异,sql,sql-server,difference,Sql,Sql Server,Difference,我在SQL Server中有两个表: Product_Brought ( Product_ID, Quantity_Brought, .... ) Product_Distribution ( Product_ID, Quantity_Sold, .... ) 我想通过计算这两个表中这两列的差值来计算手头的余额。我做过类似的事情,但它返回了一些没有意义的东西 SELECT DIFFERENCE((SELECT sum(Quantity_Brought)

我在SQL Server中有两个表:

 Product_Brought (
     Product_ID, Quantity_Brought,  ....
 )

 Product_Distribution (
    Product_ID,  Quantity_Sold, ....
 )
我想通过计算这两个表中这两列的差值来计算手头的余额。我做过类似的事情,但它返回了一些没有意义的东西

SELECT 
   DIFFERENCE((SELECT sum(Quantity_Brought) 
FROM 
   Product_Brought), 
   (SELECT sum(Quantity_Sold) FROM Product_Distribution))

您可以在子查询中计算总和,然后进行减法运算

SELECT T1.TotalBrought - T2.TotalSold as BalanceOnHand
FROM
(SELECT SUM(Quantity_Brought) as TotalBrought
FROM Product_Brought
) T1,
(SELECT SUM(Quantity_Sold) as TotalSold
FROM Product_Distribution
) T2

查看BOL中的
差异