SUM和乘以计算字段

时间:2017-11-24 13:44:18

标签: sql sql-server tsql

我有一块脚本可以很好地完成所需的数字。现在我需要乘以另一个计算字段给出的数字(我将调用字段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]

1 个答案:

答案 0 :(得分:2)

这里的一个选项是常见的表格表达式。

我建议将你的选择包装在cte中,从中选择并在底层执行任何进一步的计算。

;with cte as ( 
    your original select query
)
    select * 
    ,      [named field] * [field x] as [calculated answer]
    from   cte

这可以节省您不得不一遍又一遍地进行计算。有关cte的性能问题,但它们可以在这些情况下提供帮助。我会对您的数据进行测试,看看您的数据有多大。