sql 数据库 基础题 但是不会

报错,求修正
表名称为Salary和Employee,括号里那个是工资

img

img

题主给的信息比较少,最好展示两个表的字段数据,以下是我根据现有情况猜测的思路,供参考:

  1. Salary表中有Eid字段(猜测为外键员工ID)关联Employee获取部门;
  2. 根据获取的部门分组聚合
    SELECT
     t2.Dept
    ,SUM(t1.Actual)    AS sum_actual
    ,AVG(t1.Actual)    AS avg_actual
    ,MAX(t1.Actual)    AS max_actual
    ,MIN(t1.Actual)    AS min_actual
    FROM
    (
     SELECT
         Eid
        ,Actual
     FROM Salary
     WHERE LauchDate BETWEEN '2017-03-01' AND '2017-03-31'
    ) t1
    LEFT OUTER JOIN
    (
     SELECT
         Eid
        ,Dept
     FROM Employee
    ) t2
    ON t1.Eid = t2.Eid
    GROUP BY t2.Dept
    ORDER BY avg_actual DESC
    ;
    

你这sql语句写错了好吧。大概是这样:

select Employee.Dept, SUM(Actual) AS '总工资', AVG(Actual) AS '平均工资', MAX(Actual) AS '最高工资',
MIN(Actual) AS '最低工资'
from Salary, Employee
where Employee.Eid = Salary.Eid and LauchDate between '2017-03-01' and '2017-03-31'
order by '平均工资' desc;