2015-04-03 65 views
1

我對SQL Server數據庫很陌生,並且正在處理最近的項目。我有兩個表UsersFriendsUsers具有所有名稱和ID以及其他附加列。 Friends表具有firstuserID,SecondUserIDFriendstatus列,並且不具有用戶的名稱。抓取兩個用戶ID並將它們加入到另一個表中

我已經手動添加IDS到朋友表,我想根據他們的名字顯示他們的狀態。我的查詢

@username nvarchar(50), 
    @friendname nvarchar(50) 
AS 
    SELECT * 
    FROM Friends 
    WHERE ID IN 
     (SELECT ID as ID 
     FROM Users 
     WHERE UserName = @usernameID 
     UNION 
     SELECT ID as MyID 
     FROM Users 
     WHERE UserName = @friendnameID) 

我知道我的查詢是錯誤的。你能給我一個提示或幫助我嗎?

+1

請了很多添加預期輸出 – ughai 2015-04-03 13:28:58

回答

0

試試這個:

@username nvarchar(50), 
    @friendname nvarchar(50) 
AS 
    SELECT * 
    FROM Friends 
    WHERE ID IN 
     (SELECT ID 
     FROM Users 
     WHERE UserName IN(@username,@friendname) 
     ) 
+1

感謝。這對我行得通。 – muteb 2015-04-03 12:02:29

+0

@muteb: - 不客氣! – 2015-04-03 12:03:55

+0

@Muterb: - 這個查詢是否真正起作用我假設Friends表中的Id列是朋友表的PK,並且在上面的查詢中它看起來像是User表的外鍵? – 2015-04-03 13:24:50

相關問題