代码之家  ›  专栏  ›  技术社区  ›  anon

计算百分比

  •  -1
  • anon  · 技术社区  · 14 年前

    嗨,这个代码给我员工工资和经理工资。

    SELECT E.EMP_FNAME AS MANAGER, E.EMP_SALARY, D.DEPT_NO, A.EMP_FNAME AS EMPLOYEE, A.EMP_SALARY
     FROM EMPLOYEE E, EMPLOYEE A, DEPARTMENT D
     WHERE E.EMP_NIN = A.EMP_MANAGER
     AND A.EMP_MANAGER = D.EMP_MANAGER;
    

    ![替换文字][1]

    我怎样才能只给那些薪水不超过经理薪水10%的员工看?

    1 回复  |  直到 10 年前
        1
  •  1
  •   APC    14 年前

    假设你想让员工的收入高于他们的经理(你知道,在另一个更好的世界里,这是会发生的),那么在where子句中就包括这一点:

    AND  A.SALARY BETWEEN (E.SALARY * 0.9) and (E.SALARY * 1.1)
    

    编辑

    这使用简单的数学。0.9=90%和1.1=110%;此行将结果集限制为员工记录,其中工资为经理工资的+/-10%。如果你确定员工的收入永远不会超过他们的经理,那么你需要一个比测试更简单的方法…

    AND  A.SALARY >= (E.SALARY * 0.9)