2014-10-28 58 views
0

我有2列,并在这些2列有该USER_ID和User_Name的获得分配的用户名和改性的用户ID

嗨,

我列UID和UNAME

*users* 
| UID | UName | 
| 1  | sam  | 
| 2  | corey | 
| 3  | max  | 

然后在我们的一些表格中,我们只使用UID来检索分配给该项目的人员或谁修改了它。有时,Assigned和Modified列的ID不同,有时不是,proj可以分配给sam,但max也可以修改它。 该表类似于这样:

*table1* 
| ProjName | Assigned_UID | Modified_UID | 
| Proj1 |  2   |  3   | 
| Proj2 |  1   |  2   | 

我试图解决的问题是在上面这张表我怎样才能获得这些ID的用户名? 我做到了像

SELECT UName FROM users as u 
INNER JOIN table1 as t 
ON u.UID = t.Assigned_UID 

GROUP BY UName 

,但它只是表明我的uname列的列表,就是我希望得到的输出是这个样子

*table1* 
| ProjName | Assigned_UID | Modified_UID | 
| Proj1 |  corey  |  max   | 
| Proj2 |  sam   |  corey  | 

我希望你们能帮助我感谢你!

回答

1

试试这个:

SELECT ProjName, u1.UName as Assigned_UName, u2.Uname as Modified_UName 
FROM table1 as t 
INNER JOIN users u1 
ON u1.UID = t.Assigned_UID 
INNER JOIN users u2 
ON u2.UID = t.Modified_UID 

或者,你可以看到这样一个问题:MySQL: How do I join same table multiple times?

+0

真棒!完美的作品!谢谢! – sleepsleepsleep90731 2014-10-28 19:21:29

+0

@ sleepingdragon90731,欢迎您! – ZuoLi 2014-10-28 19:33:58

相关问题