如何为此给定方案编写SQL查询?

时间:2014-10-25 16:30:38

标签: sql sql-server

Empl_Table的属性:Emp#(P.K),Emp_NameSalaryDepartment#(f.k)

我必须找到结果:

  • 第一栏:Department#
  • 第二栏:名称以' A'
  • 开头的每个部门员工的工资总和
  • 第三栏:该部门所有员工的总薪水

结果应该是这样的

Department#   NameContains'A'   TotalSalary 
-------------------------------------------- 
    10            2450             8750 
    20            1110            10875
    30            7900             9400

2 个答案:

答案 0 :(得分:3)

您想要条件聚合:

select et.department,
       sum(case where Name like 'A%' then salary end) as A_salary,
       sum(salary) as total_salary
from empl_table et
group by et.department;

答案 1 :(得分:0)

试试这个

SELECT Department#,
       Sum(CASE
             WHEN ename LIKE 'A%' THEN salary
           END) Emp_A_Salary,
       Sum(salary) Total_salary
FROM   Empl_Table
GROUP  BY department#