下面是实际发票表
根据 invoiceID 分组后,结果集为
实际付款表是
其根据 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