0

異なる請求書を含む請求書のテーブルがあります。各請求書には、一意の請求書番号と金額の値があります。請求書は2種類あります。1 つは請求書タイプで、もう 1 つは決済タイプです。請求書が作成されている場合、テーブルのエントリは請求書タイプになり、金額はプラスになります。ユーザーがその請求書を支払った場合、同じ請求書番号を持つ別のエントリがテーブルに入力されますが、ユーザーがその金額を支払ったため、マイナスの金額が入力されます。

ここで、請求書番号が同じレコードが 2 つ存在する場合にレコードを表示し、金額の合計を計算してレコードを表示します (つまり、請求書タイプのレコードと決済タイプのレコードの金額を加算することを意味します)。また、固有の請求書番号を持つ (決済記録のない) レコードは、そのまま (合計なし) に表示する必要があります。

クエリはこのようなものになると思います..しかし、それはまさに私が望んでいるものではありません!

Select 
    InvoiceNumber, InvoiceTypeCode, 
    Amount = case when COUNT(InvoiceNumber) > 1
                   then SUM(Amount)
                   else Amount
             end
from 
    Invoice
group by 
    InvoiceNumber, Amount, InvoiceTypeCode
4

1 に答える 1