0

私は2つのテーブルを持っています

1. Table A
userId
userFirstName
UserLastName

2. Table B
createdByUserId
updatedByUserId
deletedByUserId
tableName
tableCreateDate

テーブルB(createByUserID、updatedByUserId、deletedByUserIdを含む)を選択し、1つのクエリでテーブルAのuserFirstNameとuserLastNameを取得したい(userIDに応じたuserNameがフェッチされた)?これは1つのネストされたクエリで可能ですか?または、実際には2つのクエリが必要です。1つはuserIdをフェッチし、もう1つはuserdetailをフェッチします。

4

1 に答える 1

2

私があなたが望むものを理解しているなら、あなたはただ3回参加することができます。(IDの一部がnullの場合に備えて、左結合を選択しました)

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 に答える