SQL百分比和计算

时间:2016-09-09 15:33:04

标签: sql sql-server sql-server-2008

我创建了一个查询并在其中进行了一些计算。现在我需要对计算列进行一些计算。

实施例

dbo.SI.frozqty-dbo.SI.countqty AS VARCOUNT

现在我需要算出

的百分比
VARCOUNT / dbo.SI.frozqty

但我不会识别VARCOUNT

还需要删除除以0的错误,并使用AS

在新列中进行计算

任何想法的人?

非常感谢提前

2 个答案:

答案 0 :(得分:0)

您可以使用子查询或CTE。在子查询或CTE中进行第一级计算,并将其用于在主查询中进行第二级计算。

答案 1 :(得分:0)

这个问题的正常答案是使用子查询或CTE。这些都是有效的。另一种方法是使用横向连接,在SQL Server中拼写为OUTER APPLYCROSS APPLY

select x.varcount / si.frozqty
from . . . outer apply
     (select dbo.SI.frozqty-dbo.SI.countqty AS VARCOUNT) x

请注意,如果两个参数都是整数,则SQL Server会执行整数除法。这不会影响OUTER APPLY语法,只会影响除法的结果。