我有两张桌子
1. Table A
userId
userFirstName
UserLastName
2. Table B
createdByUserId
updatedByUserId
deletedByUserId
tableName
tableCreateDate
我想选择表B(包括createByUserID,updatedByUserId和deletedByUserId)并在一个查询中获取表A的userFirstName和userLastName(userName根据提取的userID)?这在一个嵌套查询中是否可行?或者它确实需要两个查询,一个查询提取userId,第二个提取userdetail。
答案 0 :(得分:2)
如果我明白你想要什么,你可以加入三次。 (我选择了Left Joins以防一些ID为空)
Select
b.tableName,
b.tableCreateDate,
CUser.userFirstName CreateUserFirstName,
CUser.UserLastName CreateUserLastName ,
CUser.userFirstName UpdateUserFirstName,
UUser.UserLastName UpdateUserLastName ,
UUser.userFirstName DeleteUserFirstName,
DUser.UserLastName DeleteUserLastName
FROM
TableB b
LEFT JOIN TableA CUser
ON b.createdByUserId = CUser.UserId
LEFT JOIN TableA UUser
ON b.updatedByUserId= UUser.UserId
LEFT JOIN TableA DUser
ON b.updatedByUserId= DUser.UserId