select dept_id,name,basic+bonus from salary inner join employees on salary.dept_id=employee.dept_id where dept_id=( select employee_id from employees where dept_id=( select dept_id from departments where dept_name='人事部' )) and year(date)=2018 and month(date)=12; ERROR 1054 (42S22): Unknown column 'salary.dept_id' in 'on clause'
时间: 2024-04-22 07:23:28 浏览: 153
Isea.zip_40_ISEA ea
在这个SQL语句中,出现了另一个错误,提示“Unknown column 'salary.dept_id' in 'on clause'”。这个错误通常表示在ON子句中使用了不存在的列名或表别名。在这个情况下,问题在于在ON子句中使用了salary.dept_id列,但是没有为salary表指定别名。
为了解决这个问题,需要为salary表指定一个别名,并在ON子句中使用它。下面是修正后的SQL语句:
```
select s.dept_id, e.name, s.basic+s.bonus
from salary s
inner join employees e on s.dept_id = e.dept_id
where s.dept_id = (
select employee_id from employees where dept_id = (
select dept_id from departments where dept_name = '人事部'
)
) and year(s.date) = 2018 and month(s.date) = 12;
```
在这个修正后的SQL语句中,我们为salary表指定了别名s,并在ON子句和SELECT子句中使用它。这样就能够正确地查询部门名称为“人事部”、时间为2018年12月份的员工的工资信息。
阅读全文