好的,标题可能令人困惑。
我需要使用案例陈述来计算扣除价值的税额。
此减少的值将在标量函数中用于计算存储过程中CTE中的另一个值。
如何在标量函数中重用这个计算列?我尝试了以下内容。
paidminusIPT = case when country = "ireland" then (paid - 1) else paid end,
dbo.fnEarnedPrem(a,b,c,d,paidminusipt,e,f)
请注意,这不是确切的代码,只是一个快速参考..
这可能吗?
问候。
答案 0 :(得分:1)
您应该使用完整表达式而不仅仅是列名:
paidminusIPT = case when country = "ireland" then (paid - 1) else paid end,
dbo.fnEarnedPrem(a,b,c,d,case when country = "ireland" then (paid - 1) else paid end,e,f)
或使用CTE
;WITH C as(
SELECT a,b,c,d,e,f,paidminusIPT = case when country = "ireland" then (paid - 1) else paid end FROM SomeTable)
Select *,dbo.fnEarnedPrem(a,b,c,d,paidminusipt,e,f) FROM C