我有 2 個表, Tbl1 和 Tbl2 :
表1:
ID Col1 Col2 Sold Total
1 AA 0 100
1 BB CC 2 200
1 DD EE 3 300
2 FF GG 1 100
表2:
ID Sold Total TotalPerPax
我需要根據ID計算Tbl2中的TotalPerPax 但是TotalPerPax的計算是這樣的。例子:
ID = 1
Sold: 0 2 3 = 5
Total = 100 200 300 = 600
TotalPerPax = (Total minus the Total of the row that has 0 sold / Sold )
(600 -100 ) / 5 = 500
輸出應類似于 Tbl2:
ID Sold Total TotalPerPax
1 5 600 100 -- (500 Total / 5 Sold)
2 1 100 100
到目前為止,我有這個:執行它時會拋出錯誤“遇到除以零錯誤”,因此我無法正確計算 totalPerPax。誰能幫我解決這個問題?謝謝
SELECT ID,
Col1
Col2,
Sold,
Total,
SUM(COALESCE(Total, 0))/SUM(COALESCE(Sold, 0)) As TotalPerPax
FROM Tbl1 t1
Where ID = 1
GROUP BY ID, Col1, Col2,Sold, Total
示例 sql 小提琴:
演示
當后者恰好為零時CASE,TotalPerPax使用的運算式不包括任何總量或銷售量的邏輯。作為一個說明,對于任何ID這只是可能有零和售金額,TotalPerPax將被認為是零。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/351597.html
標籤:sql-server 查询语句
下一篇:EFCore5可以翻譯什么
