用sql语句创建存储结构,该结构可将考勤表中的出勤奖金和职务信息表中的基本工资加起来计算员工的总工资,其中考勤信息表中有职工编号无职工编号,职务信息表中有职务编号无职工编号,而职工信息表中有职工编号和职务编号,请问咋用sql语句编写
时间: 2024-10-09 20:10:08 浏览: 19
E9新版考勤表结构.rar
为了计算员工的总工资,我们需要从考勤表、职务信息表以及职工信息表中获取相关信息。由于存在职工编号和职务编号的对应关系,可以先通过JOIN操作将这三个表关联起来。假设表名分别为`attendance`, `salary_details`, 和 `staff_info`,字段如下:
- 考勤表(`attendance`):职工编号(`employee_id`),出勤奖金(`overtime_bonus`)
- 职务信息表(`salary_details`):职务编号(`post_id`),基本工资(`basic_salary`)
- 职工信息表(`staff_info`):职工编号(`employee_id`),职务编号(`post_id`)
我们可以使用以下SQL语句:
```sql
SELECT a.employee_id,
si.post_id,
sd.basic_salary + ao.overtime_bonus AS total_salary
FROM attendance ao
LEFT JOIN staff_info si ON ao.employee_id = si.employee_id
LEFT JOIN salary_details sd ON si.post_id = sd.post_id;
```
这个查询首先通过`LEFT JOIN`连接了三个表,确保每个员工的记录都被包括,即使他们在某个表中没有对应的数据(NULL值)。然后,将出勤奖金和基本工资相加得到总工资。
阅读全文