SQL查询。我有这个查询,返回此周工资和上周工资之间的百分比差异

时间:2018-09-25 12:00:22

标签: sql sql-server

我需要它删除差异小于10%的结果,因为我只想查看工资上涨10%以上的结果。我已附上查询结果。

Here you can see the Results

现在这是我的代码

SELECT *,
(tw.ThisWeeksPay - lw.LastWeeksPay) / NULLIF(lw.LastWeeksPay,0) * 100 AS 'PercentDifference'
FROM ThisWeek tw
INNER JOIN LastWeek lw ON lw.EeID = tw.EeID
ORDER BY tw.EeID, lw.EeID

1 个答案:

答案 0 :(得分:1)

您只需要引用该值。一种简单的方法使用apply

SELECT tw.*, lw.*, v.PercentDifference
FROM ThisWeek tw INNER JOIN
     LastWeek lw
     ON lw.EeID = tw.EeID CROSS APPLY
     (VALUES ( (tw.ThisWeeksPay - lw.LastWeeksPay) * 100 / NULLIF(lw.LastWeeksPay, 0) )
     ) v(PercentDifference)
WHERE v.PercentDifference > 0.1
ORDER BY tw.EeID, lw.EeID;

您还可以使用子查询或CTE的更传统的方法。