下面是实际发票表
在基于invoiceID对其进行分组之后,resultset是
实际付款表是
其基于invoiceID分组后的支付结果为
现在,我要将这两个结果集[付款和发票表]合并,并根据InvoiceID找到余额减去总金额,对于不匹配的记录,余额列应该为零。我试过了,但没有得到预期的结果。
最佳答案
试试这样的东西,
SELECT a.InvoiceID,
a.totalSum InvoiceAmount,
b.totalSum PaymentAmount,
a.totalSum - COALESCE(b.totalSum, 0) TotalBalance
FROM
(
SELECT InvoiceID, SUM(Total) totalSum
FROM InvoiceTB
GROUP BY InvoiceID
) a LEFT JOIN
(
SELECT InvoiceID, SUM(Total) totalSum
FROM paymentTB
GROUP BY InvoiceID
) b
ON a.InvoiceID = b.InvoiceID