开发者

MySql - Select Query - Joins

开发者 https://www.devze.com 2023-01-17 16:57 出处:网络
I have two tables User ID UserName 1Name1 2Name2 3Name3 4Name4 5Name5 Item ID ItemName InsertedBy UpdatedBy 1Item114

I have two tables

User

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

Item

ID ItemName InsertedBy UpdatedBy
1  Item1    1          4
2  Item2    3          3
3  Item3    2          5
4  Item4    5          3
5  Item5    4          5

Resultant Table required

ID ItemName InsertedBy UpdatedBy
1  Item1    Name1      Name4
2 开发者_开发百科 Item2    Name3      Name3
3  Item3    Name2      Name5
4  Item4    Name5      Name3
5  Item5    Name4      Name5  

How can this be achieved in single join query?


 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

If UpdatedBy can be null then query will be:

 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)
0

精彩评论

暂无评论...
验证码 换一张
取 消