我有两个桌子
1. Table A
userId
userFirstName
UserLastName
2. Table B
createdByUserId
updatedByUserId
deletedByUserId
tableName
tableCreateDate
我想对表B进行选择(包括createByUserID,updatedByUserId和DeletedByUserId),并在一个查询中获取表A的userFirstName和userLastName(根据已获取的userID提取userName)?一个嵌套查询有可能吗?或它确实需要两个查询,一个查询获取userId,第二个查询获取userdetail。
最佳答案
如果我了解您想要什么,您可以加入3次。 (我选择“左连接”,以防某些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
关于mysql - SQL有关嵌套选择的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10458318/