我有这些表:
tb_员工:
ID EMPLOYEE
1 Jhonatan Sandoval
2 Patricia Sanchez
3 Ken Dawson
tb_bankacc:
ID BANK AMOUNT OWNER (from tb_employee)
1 Bank 1 250000 1
tb_pay:
ID OWNER EMPLOYEE AMOUNT
1 1 2 500
2 1 3 480
我需要创建一个SELECT QUERY
来显示员工的姓名,如下所示:
ID OWNER EMPLOYEE AMOUNT
1 Jhonatan Sandoval Patricia Sanchez 500
2 Jhonatan Sandoval Ken Dawson 480
但是,我不知道如何。
最佳答案
使用
SELECT p.Id, o.Employee AS Owner, e.Employee, p.Amount
FROM tb_pay p
INNER JOIN tb_employee e ON e.Id = p.Employee
INNER JOIN tb_employee o ON o.Id = p.Owner
您将两次加入 tb_employee
表,一次是为了获取 Employee
列的名称(通过将 Id 连接到 Employee
> 列与 tb_employee
中的 Id
- 然后从该记录中获取名称),然后再次获取 Owner
列的名称(将 Owner
列中的 Id 与 tb_employee
中的 Id
连接起来。
关于MySQL - 表中的描述与同一个表中的 id 不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20155665/