SQL查询中的计算

时间:2012-01-22 06:53:53

标签: sql sql-server-2008

这是我的问题。

  • 从emp表中编制一份工资单,包括empno,ename,job,sal,comm,house rent computer,25%,医疗津贴15%,运输津贴10%sal和净工资由雇员的房屋租金,房屋租金,医疗津贴,交通津贴和通信组成。

我在这里。

SELECT EmpNo, Ename, Job, Sal, Comm, 
            Sal * 25 / 100 AS [house rent], 
            Sal * 15 / 100 AS [medical allowance], 
            Sal * 10 / 100 AS [transport allowance]
FROM Emp

给了我这个结果集

enter image description here

现在我不得不计算净工资。 (上述问题中的粗线)您必须将所有其他费用加在一起并从Sal中减去,对吧?但我不知道如何在查询中 。由于房屋租金,交通补贴不是表格中的列,我无法添加。

关于如何做到这一点的任何想法?

谢谢

1 个答案:

答案 0 :(得分:5)

你必须重复个人计算,但......

SELECT EmpNo, Ename, Job, Sal,
       Comm,
       Sal * 25 / 100 AS [house rent],
       Sal * 15 / 100 AS [medical allowance], 
       Sal * 10 / 100 AS [transport allowance],
       Sal + Comm + (Sal  * (25 + 15 + 10) / 100) AS Net
FROM Emp

请注意,我已经简化了3次计算。由于它们只是相同原始值的百分比,因此只需添加单个组件百分比而不是单独计算每个组合并将其加起来就更简单了。