MySQL SELECT Query - 使用两个其他SUM()值的总和减去SUM()值

时间:2013-02-20 05:05:25

标签: mysql sql select

我有两个SELECT语句,它们赋值“TotalSales”和“VendorPay_Com”。我希望能够在一个MySQL语句中从TotalSales中减去VendorPay_Com以获得值“Outstanding_Funds”,但我还没有找到可行的方法。

这是我的两个陈述:

查询1:

SELECT SUM(Price) AS TotalSales
FROM PROPERTY
WHERE Status = 'Sold';

查询2:

SELECT SUM(AC.Amount) AS VendorPay_Comm
FROM (
SELECT Amount FROM lawyer_pays_vendor
UNION ALL
SELECT CommissionEarned AS `Amount` FROM COMMISSION AS C WHERE C.`status` = 'Paid') AS AC

非常感谢有关此事的任何帮助:)

2 个答案:

答案 0 :(得分:10)

您可以按照以下方式执行此操作:

select (select ...) - (select ...)

在您的示例中,只需:

select 

(
SELECT SUM(Price) AS TotalSales
FROM PROPERTY
WHERE Status = 'Sold'
)
-
(
SELECT SUM(AC.Amount) AS VendorPay_Comm
FROM (
SELECT Amount FROM lawyer_pays_vendor
UNION ALL
SELECT CommissionEarned AS `Amount` FROM COMMISSION AS C WHERE C.`status` = 'Paid') AS AC
) AS Outstanding_Funds

答案 1 :(得分:1)

尝试

SELECT TotalSales-VendorPay_Comm AS Outstanding_Funds
  FROM
(SELECT SUM(Price) AS TotalSales
   FROM PROPERTY
  WHERE Status = 'Sold') t1, 
(SELECT SUM(Amount) AS VendorPay_Comm
   FROM (SELECT Amount FROM lawyer_pays_vendor
          UNION ALL
         SELECT CommissionEarned AS Amount 
           FROM COMMISSION
          WHERE Status = 'Paid') t0) t2

这是 sqlfiddle