我需要它删除差异小于10%的结果,因为我只想查看工资上涨10%以上的结果。我已附上查询结果。
现在这是我的代码
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
答案 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的更传统的方法。