Select MySql-选择查询-连接

Select MySql-选择查询-连接,select,mysql,join,Select,Mysql,Join,我有两张桌子 用户 ID UserName 1 Name1 2 Name2 3 Name3 4 Name4 5 Name5 项目 ID ItemName InsertedBy UpdatedBy 1 Item1 1 4 2 Item2 3 3 3 Item3 2 5 4 Item4 5 3 5 Item5 4 5 所需的结果表 ID ItemName I

我有两张桌子

用户

ID UserName
1  Name1
2  Name2
3  Name3
4  Name4
5  Name5
项目

ID ItemName InsertedBy UpdatedBy
1  Item1    1          4
2  Item2    3          3
3  Item3    2          5
4  Item4    5          3
5  Item5    4          5
所需的结果表

ID ItemName InsertedBy UpdatedBy
1  Item1    Name1      Name4
2  Item2    Name3      Name3
3  Item3    Name2      Name5
4  Item4    Name5      Name3
5  Item5    Name4      Name5  
如何在单连接查询中实现这一点

 SELECt Id, ItemName, u1.UserName InsertedBy, u2.UserName UpdatedBy
 FROM Item i, user u1, user u2
 WHERE i.InsertedBy = u1.Id
   AND i.UpdatedBy = u2.Id
如果UpdatedBy可以为null,则查询将为:

 SELECt Id, ItemName, u1.UserName InsertedBy, u2.UserName UpdatedBy
 FROM Item i JOIN user u1 ON (i.InsertedBy = u1.Id)
 LEFT JOIN user u2 ON (i.UpdatedBy = u2.Id)
如果UpdatedBy可以为null,则查询将为:

 SELECt Id, ItemName, u1.UserName InsertedBy, u2.UserName UpdatedBy
 FROM Item i JOIN user u1 ON (i.InsertedBy = u1.Id)
 LEFT JOIN user u2 ON (i.UpdatedBy = u2.Id)

+1对于几乎正确,您的选择应该是
select i.Id,ItemName,u1.UserName InsertedBy,u2.UserName UpdatedBy
+1对于几乎正确,您的选择应该是
select i.Id,ItemName,u1.UserName InsertedBy,u2.UserName UpdatedBy