select csm.csmCustomerName, cur.curNameOfCurrency,
sum(sot.sotItemTotalAmount)as 'TotalItemsAmount',
SUM(sorTotalTaxAmountValue) as 'TotalTax',
SUM(sorTotalChargeDetailsAmountValue) as 'TotalCharges',
(sum(sorTotalTaxAmountValue)+sum(sorTotalChargeDetailsAmountValue)+sum(sot.sotItemTotalAmount)) as 'NetAmount'
from dbo.SalesOrder sor join dbo.Currency cur
on sor.sorCurrencyId=cur.curId
join dbo.CustomerMaster csm
on sor.sorCustomerMasterId=csm.csmId
join SalesOrderItemDetails sot
on sot.sotSalesOrderId=sor.sorId
Group by csmCustomerName, curNameOfCurrency with rollup;
それぞれの列の最後の行にあるTotalItemsAmount
、TotalTax
、TotalCharges
およびの合計が必要です。NetAmount
結果セットでは、各行が重複しています。コードの間違いを誰かが修正できますか。
C1 C2 C3 C4 C5 C6
米ドル 1 7 2 10
B米ドル 3 6 3 12
C 米ドル 5 3 0 8
D 米ドル 4 2 1 7
13 18 6 37