2014-04-04 235 views
-1

这里选择数据是由STAFFID是加入从另一个表SQL SELECT查询

Job Table 
========= 
JobID AssignedTo(StaffID) Created By(StaffID) 
1  2     1 
2  3     2 

Staff Table 
============ 
StaffID Name 
1  May 
2  Bob 
3  Mary 

我需要一个SQL语句,以获得与相应人员的名字的工作细节,但有这样做,因为我的问题2个表当他们使用相同的表格时,无法区分这些列。最终的结果应该是这样的

JobID Assigned To Created By 
1  Bob   May 
2  Mary   Bob 
+1

它是SQL Server或MySQL的?你标记了两个。 – Szymon

回答

3

你需要加入Staff表两次

select J.JobId, S1.Name AS AssignedTo, S2.Name AS CreatedBy 
from Job J 
inner join Staff S1 on S1.StaffID = J.AssignedTo 
inner join Staff S2 on S2.StaffID = J.CreatedBy 
+1

Man u is 2 sec early just just this'select j.jobid,s1.Name as Assigned_To,s2.Name as Created_By from Job j inner join Staff st1 on st1.StaffID = j.AssignedTo inner join Staff st2在st2.StaffID = j.CreatedBy' –

+0

我在哪里把我的其他表连接到它?比方说,我有一个CustomerID连接到工作表的客户...这将是这样的? SELECT j.jobid,c.name FROM Job j,Customer c ..etc? – user2552331

+0

如果您想要添加更多连接到'Job'的表格,只需添加更多连接即可。 – Szymon