2015-04-22 35 views
0

好吧,所以我設法選擇了用戶75的朋友ID,我怎麼也弄不清楚如何從用戶表中選擇users.firstname,users.lastname朋友身份證的 我不能刪除IF語句作爲我的朋友之一,因爲這將毀了其他查詢後。使用朋友表從用戶表中選擇名字和姓氏

SELECT IF(friends.sender = 75, friends.recipient, friends.sender) users.firstname, users.lastname AS user_id 
FROM friends 
JOIN users 
ON (users.id = friends.sender) 
WHERE friends.sender = 75 
    OR friends.recipient = 75 
+2

你的問題是什麼? –

+2

@JayBlanchard你是唯一一個包含問號* Sam *的人。 –

+0

「我怎麼能弄清楚如何選擇users.firstname,users.lastname」 哪些已經在帖子中... – SARUAV

回答

2

做朋友ID的選擇在子查詢,然後再加入與users

SELECT u.firstname, u.lastname 
FROM users as u 
JOIN (SELECT DISTINCT IF(friends.sender = 75, friends.recipient, friends.sender) AS friend 
     FROM friends 
     WHERE 75 in (sender, recipient)) AS f 
ON f.friend = u.id 
0

如果我明白你的問題,要列出所有用戶第一,姓氏,從用戶75收到,如果是這樣的話,這會爲你工作:

SELECT u.id,u.firstname,u.lastname FROM users u 
JOIN friends f 
    ON u.id = f.sender OR u.id = f.recipient 
WHERE f.sender=75 
     AND u.id<>75 

而且AND u.id<>75做所有的工作,所以你只有朋友的名字。

相關問題