有誰知道在SQL Server視圖中進行這些欄位計算的更好方法?
SELECT
TCQ.Generic。
TPM.WRITTEN_PRM / ((100 - TPM.[CO-PART] ) / 100 * CASE WHEN TPM。 Factor IS NULL THEN 1 ELSE TPM。 [Factor] END) AS Gross100_WRITTEN_PRM,
TPM.EARNED_PRM / ((100 - TPM.[CO-PART] ) / 100 * CASE WHEN TPM。 Factor IS NULL THEN 1 ELSE TPM。 [Factor] END) AS Gross100_EARNED_PRM,
TC.Generic = GS.Generic
(FROM table table table blah blah... )
uj5u.com熱心網友回復:
你可以使用COALESCE()或ISNULL()來代替CASE.
。SELECT
TCQ.Generic。
TPM.WRITTEN_PRM / ((100 - TPM.[CO-PART] ) / 100 * coalesce ( TPM.factor, 1) ) AS Gross100_WRITTEN_PRM,
TPM.EARNED_PRM / ((100 - TPM.[CO-PART] ) / 100 * coalesce ( TPM.factor, 1) AS Gross100_EARNED_PRM,
TC.Generic = GS.Generic
(FROM table table table blah blah... )
uj5u.com熱心網友回復:
你可以將其重構為如下內容--當然是未經測驗的
select
TPM.WRITTEN_PRM / f.v as Gross100_WRITTEN_PRM,
TPM.EARNED_PRM / f.v as Gross100_EARNED_PRM,
來自的
表
cross apply (values(100 - TPM. [CO-PART]/isnull(TPM.[Factor],1)*100))f(V
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/332787.html
標籤:
