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