我创建了一个查询并在其中进行了一些计算。现在我需要对计算列进行一些计算。
实施例
dbo.SI.frozqty-dbo.SI.countqty AS VARCOUNT
现在我需要算出
的百分比VARCOUNT / dbo.SI.frozqty
但我不会识别VARCOUNT
还需要删除除以0的错误,并使用AS
在新列中进行计算任何想法的人?
非常感谢提前
答案 0 :(得分:0)
您可以使用子查询或CTE。在子查询或CTE中进行第一级计算,并将其用于在主查询中进行第二级计算。
答案 1 :(得分:0)
这个问题的正常答案是使用子查询或CTE。这些都是有效的。另一种方法是使用横向连接,在SQL Server中拼写为OUTER APPLY
或CROSS APPLY
:
select x.varcount / si.frozqty
from . . . outer apply
(select dbo.SI.frozqty-dbo.SI.countqty AS VARCOUNT) x
请注意,如果两个参数都是整数,则SQL Server会执行整数除法。这不会影响OUTER APPLY
语法,只会影响除法的结果。