[英]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.