0

我有两张桌子

1. Table A
userId
userFirstName
UserLastName

2. Table B
createdByUserId
updatedByUserId
deletedByUserId
tableName
tableCreateDate

我想选择表 B(包括 createByUserID、updatedByUserId 和 deletedByUserId)并在一个查询中获取表 A 的 userFirstName 和 userLastName(根据 userID 获取用户名)?这可能在一个嵌套查询中吗?或者它真的需要两个查询,一个查询取出 userId,第二个取出 userdetail。

4

1 回答 1

2

如果我明白你想要什么,你可以加入三次。(我选择了左连接以防某些 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
于 2012-05-05T02:31:06.363 回答