我有两张桌子:
table no 1 Employee
Emp_ID | EMP_Name
1 | Sumit
2 | HR1
3 | sunny
4 | Bhupin
5 | Abhishek
6 |Lallan
7 | Ashi
8 | HR2
表2 emp_hr:
Emp_ID | EMP_HR_ID
1 | 8
2 | NULL
3 | 2
5 | 4
6 | 4
7 | 2
8 | NULL
我想通过sql server查询输出,它根据表2中存储在表1中的id存储自动指向名称:
Emp_Name | HR
Sumit | HR2
HR1 | Null
Sunny | HR1
Abhishek | Bhupin
Lallan | Bhupin
Ashi | HR1
HR2 | Null
任何人都可以解决此问题。
答案 0 :(得分:1)
选择A.EMP_NAME作为名称,C.EMP_NAME作为HR 来自EMP A. JOIN EMP_HR B ON A.EMP_ID = B.EMP_ID LEEM JOIN EMP C on B.EMP_HR_ID = C.EMP_ID
答案 1 :(得分:0)
我不确定是否会提出您的问题,但我想这个问题可以帮助您:
SELECT T2.EMP_Name Emp_Name,T3.EMP_Name HR FROM
TABLE2 T1 LEFT OUTER JOIN TABLE1 T2
ON T1.Emp_ID = T2.Emp_ID LEFT OUTER JOIN TABLE1 T3
ON T1.EMP_HR_ID= T3.Emp_ID ;
答案 2 :(得分:0)
这是一个简单的连接,唯一有点棘手的部分是,您需要两次加入同一个表,一次获取员工姓名,一次获取其经理的姓名。
SELECT t1a.Emp_Name, t1b.Emp_Name AS HR
FROM Table2 t2
JOIN Table1 t1a ON t1a.Emp_ID = t2.Emp_ID
LEFT JOIN Table1 t1b ON t1b.Emp_ID = t2.EMP_HR_ID