1

下面是实际发票表

在此处输入图像描述

根据 invoiceID 分组后,结果集为 在此处输入图像描述

实际付款表是

在此处输入图像描述

其根据 invoiceID 分组后的支付结果集为

在此处输入图像描述

现在我想加入这两个结果集 [付款和发票表] 并找到余额金额从基于 InvoiceID 的金额中减去总计,对于不匹配的记录,余额列应该为零。我试过这个,但没有得到预期的结果。

4

1 回答 1

1

试试这样的,

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
于 2012-09-28T06:55:37.317 回答