我有3张桌子:
员工表:
Emp_Id | E_名称 |
---|---|
e-001 | 约翰 |
e-002 | 汉森 |
加法表:
Emp_Id | A_姓名 | 价值 |
---|---|---|
e-001 | 基本 | 100 |
e-001 | 奖金 | 15 |
e-002 | 基本 | 150 |
e-002 | 奖金 | 20 |
扣除表:
Emp_Id | D_名称 | 价值 |
---|---|---|
e-001 | 保险 | 5 |
e-001 | 贷款 | 10 |
e-002 | 保险 | 5 |
e-002 | 贷款 | 0 |
我需要的是将 3 个表合并为一张表,如下所示:
Emp_Id | 基本 | 奖金 | 保险 | 贷款 |
---|---|---|---|---|
e-001 | 100 | 15 | 5 | 10 |
e-002 | 150 | 20 | 5 | 0 |
这在mysql中可能吗?请帮助我,谢谢。
SELECT t0.emp_id,
t11.value basic, t12.value bonus,
t21.value insurance, t22.value loan
FROM employee t0
LEFT JOIN addition t11 ON t0.emp_id = t11.emp_id AND t11.a_name = 'Basic'
LEFT JOIN addition t12 ON t0.emp_id = t12.emp_id AND t12.a_name = 'Bonus'
LEFT JOIN deduction t21 ON t0.emp_id = t21.emp_id AND t21.d_name = 'Insurance'
LEFT JOIN deduction t22 ON t0.emp_id = t22.emp_id AND t22.d_name = 'Loan'