【发布时间】:2018-03-04 09:57:26
【问题描述】:
我不确定如何将两个表连接到我的主查询中,因为它们在不同情况下分别连接到 3 个主表中的每一个。
我正在尝试根据三件事确定帐户代码。见下表。 帐户代码基于工资代码、部门和员工类型,它们是三个不同的表。
accountcodes.paycode_id = employee_pay.paycode_id
accountcodes.department_code = department.code
accountcodes.emp_type_id = employee_infos.emp_type_id
这是我加入这些表格的方法
SELECT i.id, i.emp_type_id, m.code as deptartment
FROM employee_pay e1
INNER JOIN employee_infos i ON e1.employee_infos_id = i.id
INNER JOIN department m ON i.co_cost_center_matrix_id = m.id
我需要在许多不同的条件下加入接下来的两个表。
表:帐户代码
-----------------------------------------------------------------------
| ID | lkp_accountcodes_id | paycode_id | department_code | emp_type_id |
|--------------------------|------------|-----------------|-------------|
| 1 | 21 | 15 | 120 | 1 |
|--------------------------|------------|-----------------|-------------|
| 2 | 22 | 15 | 310 | 1 |
|--------------------------|------------|-----------------|-------------|
| 3 | 23 | 30 | null | 1 |
|--------------------------|------------|-----------------|-------------|
| 4 | 24 | 30 | null | 2 |
|--------------------------|------------|-----------------|-------------|
| 5 | 25 | 55 | 120 | 1 |
|--------------------------|------------|-----------------|-------------|
| 6 | 26 | 55 | 310 | 2 |
|--------------------------|------------|-----------------|-------------|
| 7 | 27 | 55 | 120 | 2 |
-----------------------------------------------------------------------
表:lkp_accountcodes
-----------------------------------
| id | company_id | accountcode |
|-----|------------|----------------|
| 21 | 500 | 5210 |
|-----|------------|----------------|
| 22 | 500 | 6210 |
|-----|------------|----------------|
| 23 | 500 | 2211 |
|-----|------------|----------------|
| 24 | 500 | 2210 |
|-----|------------|----------------|
| 25 | 500 | 5010 |
|-----|------------|----------------|
| 26 | 500 | 6000 |
|-----|------------|----------------|
| 27 | 500 | 5090 |
-----------------------------------
从帐户代码中选择 * a 内部连接 lkp_accountcodes lac on a.lkp_accountcodes_id = lac.id
我不知道我是应该做三个左连接还是创建临时表?
【问题讨论】:
标签: mysql join mapping left-join temp-tables