2012-05-05 110 views
0

我有兩個表的Sql問題嵌套查詢

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。

回答

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

哇這是如此親,我甚至不理解第一個galance,讓我看看它。非常感謝 – Bruce

+0

WORKS!感謝那麼多節省我的一天 – Bruce