以下は実際の請求表です
請求書 ID に基づいてグループ化した後、結果セットは次のようになります。
そして実際の支払い表は
そして、invoiceID に基づいてグループ化した後の支払い結果セットは
ここで、これら 2 つの結果セット [支払いと請求書の表] を結合し、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