[英]MySQL copy two table columns to another table with different column names
[英]How to access one column of a table corresponding to two different columns of another table in mysql?
我想仅使用一个查询从与表 B 中的 toEmployeeId 和 fromEmployeeId 关联的表 A 中获取列 EmployeeName。
这是我的桌子
Table A
|---------------------|------------------|
| Employeeid | EmployeeName |
|---------------------|------------------|
| E1 | ABC1 |
|---------------------|------------------|
| E2 | ABC2 |
|---------------------|------------------|
| E3 | ABC3 |
|---------------------|------------------|
Table B
|---------------------|------------------|
| toEmployeeid | fromEmployeeid |
|---------------------|------------------|
| E1 | E3 |
|---------------------|------------------|
| E2 | E1 |
|---------------------|------------------|
| E3 | E1 |
|---------------------|------------------|
这是我试图运行的查询,但它不起作用
select A.Employeeid, A.employeename,
(select employeename
from A,
B
where A.employeeid = B.fromemployeeid)
from A,
B
where B.toEmployeeid = A.id;
您应该使用正确的别名 A1 e A2 两次使用同一个表 A
select B.toEmployeeid
, A1.EmployeeName
, B.fromEmployeeid
, A2.EmployeeName
from B
INNER JOIN A A1 ON A1.Employeeid = B.toEmployeeid
INNER JOIN A A2 ON A2.Employeeid = B.fromEmployeeid
这就是我让它工作的方式。 对于任何寻找答案的人。
select At.Employeeid, At.employeename,
(select employeename from A as At
where At.employeeid = Bt.fromemployeeid) as fromEmpId
from A as At,
B as Bt
where Bt.toEmployeeid = At.Employeeid;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.