Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 数据库查询问题_Sql - Fatal编程技术网

Sql 数据库查询问题

Sql 数据库查询问题,sql,Sql,我有两张桌子: 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_I

我有两张桌子:

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中存储的id自动指向名称,表2中存储的id的名称存储在表1中:

Emp_Name       | HR
Sumit          | HR2
HR1            | Null
Sunny          | HR1
Abhishek       | Bhupin
Lallan         | Bhupin
Ashi           | HR1
HR2            | Null

任何人都能解决这个问题。

我不确定是否能回答您的问题,但我想这个问题可以帮助您:

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 ;

这是一个简单的连接,唯一稍微棘手的部分是,您需要连接到同一个表两次,一次获取员工姓名,一次获取经理姓名

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

选择A.EMP\u名称作为名称,C.EMP\u名称作为人力资源 来自EMP A 在A.EMP\u ID=B.EMP\u ID上加入EMP\u HR B 在B.EMP\u HR\u ID=C.EMP\u ID上左连接EMP C


你能展示一下你的努力吗?你是否尝试过自己解决这个问题,或者做过任何研究来找到答案?