1

「TotalSales」と「VendorPay_Com」という値を与える 2 つの SELECT ステートメントがあります。1 つの MySQL ステートメント内で TotalSales から VendorPay_Com を差し引いて値 "Outstanding_Funds" を取得できるようにしたいのですが、信頼できる方法が見つかりませんでした。

これらは私の2つの声明です:

クエリ 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

この問題に関する助けをいただければ幸いです:)

4

2 に答える 2

13

次のように実行できます。

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
于 2013-02-20T05:16:53.327 に答える
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があります

于 2013-02-20T05:15:41.703 に答える