我有一个查询,该查询返回给定职员的工资成本

SELECT     totalhours * staffbaserate AS TotalCost
FROM         newrotaRaw
WHERE     staffref = @staffref

但是,如果返回的值> 105,我需要做一些数学运算。我需要做的是,如果值 105,则我需要做的值* 1.128。

例如:

John Smith的Cost为90,因此查询应返回90

David Smith的Cost为140,因此查询应返回157.92

我敢肯定有某种方法可以使用replace来实现我想要的功能,但我只使用过replace来进行精确匹配,在这种情况下,替换取决于值。

任何帮助将非常感激!

最佳答案

尝试这样的事情。

SELECT     TotalCost =
    CASE
        WHEN (totalhours * staffbaserate) < 105 THEN (totalhours * staffbaserate)
        ELSE (totalhours * staffbaserate) * 1.128
    END
FROM         newrotaRaw
WHERE     staffref = @staffref

09-11 20:22