2014-09-01 17 views
-1

我有兩個表,即tblUsertblForward有以下的列:從另一個表獲取的用戶名到包含兩個字段的表,其具有用戶ID

tblUser

UserID    
Username 

tblForward

ForwardID  
ForwardedToUserID (--> tblUser.UserID) 
ForwardedFromUserID (--> tblUser.UserID) 

現在我想要做的是當我從tblForward獲取數據時,使用ForwardedToUserIDForwardedFromUserID和顯示Username(而不是UserID)從tblUser獲取Username

我該怎麼做?

+2

您需要使用「加入」。嘗試搜索「sql join」作爲開始。 – Blorgbeard 2014-09-01 04:24:21

回答

0

IN OP做的要連接ForwardedToUserID and ForwardedFromUserID

select max(Fromuser),max(ToUser) from (
    select UserName as Fromuser, '' as ToUser from tblUsers A 
    inner join tblForward B ON A.UserID = B.ForwardedToUserID 
    union all 
    select '' as Fromuser, UserName as ToUser from tblUsers A 
    inner join tblForward B ON A.UserID = B.ForwardedFromUserID) as t 
+0

好吧,我會試試這個... – 2014-09-01 04:35:57

+0

這給出了一個名稱列表,但我如何確定哪個用戶轉發到用戶名和哪個用戶名被轉發? – 2014-09-01 05:37:59

+0

@TashiTobgay現在檢查它 – Sathish 2014-09-01 05:50:52

-1

你需要使用join statement

SELECT A.UserName from tblUsers A 
inner join tblForward B on 
    A.UserID = B.ForwardedToUserID 
    OR A.UserID = B.ForwardedFromUserID 
+0

我想從tblForward中獲取數據,現在它在'ForwardedToUserID'和'ForwardedFromUserID'中給了我UserID。當我從tblForward獲取數據時,我想顯示名稱和其他數據。 – 2014-09-01 04:32:38

+0

@TashiTobgay,我注意到你添加了** c#**標籤,你是否面臨將你的選擇結果導入應用程序的問題,還是它是一個選擇語句問題?請澄清您的問題,以避免反對票,添加相關代碼,並指出您的問題 – simsim 2014-09-01 04:35:20

0

我建議你:

SELECT A.UserName, B.UserName AS ForwardedToUserName, C.UserName AS ForwardedFromUserName 
FROM tblUsers A 
    INNER JOIN tblForward B ON A.UserID = B.ForwardedToUserID 
    INNER JOIN tblForward C ON A.UserID = C.ForwardedFromUserID 

,因爲它返回相關的用戶名對於所有用戶的

+0

謝謝,這會從tblUsers中獲取用戶名和相關的用戶名。現在我如何將這個用戶名與從tblForward中獲取的數據結合起來? – 2014-09-01 05:16:09

相關問題