我有一块脚本可以很好地完成所需的数字。现在我需要乘以另一个计算字段给出的数字(我将调用字段x,这是一个带有9'当语句'的情况说明)然后将其乘以0.74。
我无法让这一切工作......任何想法......下面的脚本
Case
when Left([dbo].[Table1].FIELD 1,3) = 'NEW' and [Field 2] = 'Live'
Then
(SELECT distinct[dbo].[Table2].[Field a]
FROM [MY_DATABASE].[dbo].[Table2]
right Join [dbo].[Table 3]
on ([dbo].[Table2].[Field b]=[dbo].[Table 3].[Field 1])
Where [dbo].[Table2].[Field c] =
(Select
[dbo].[Table 3].[Field1]
From [dbo].[Table 3]
Where [dbo].[Table 3].[Field4] = @parameter
and [Field5] = '7')
and [dbo].[Table2].[Field D]= @Parameter
and [dbo].[Table2].[Field E]= '07')
ELSE 0
END
As [Named Field]
答案 0 :(得分:2)
这里的一个选项是常见的表格表达式。
我建议将你的选择包装在cte中,从中选择并在底层执行任何进一步的计算。
;with cte as (
your original select query
)
select *
, [named field] * [field x] as [calculated answer]
from cte
这可以节省您不得不一遍又一遍地进行计算。有关cte的性能问题,但它们可以在这些情况下提供帮助。我会对您的数据进行测试,看看您的数据有多大。