2014-04-14 18 views
-1

我必須在MySQL數據庫,USERS和FRIENDS中創建表。他們有這樣的結構:使用PHP從MySQL獲取朋友列表

users表:

FRIENDS表(兩個用戶的朋友只有當圖像中存在像兩行):

enter image description here

我想在PHP中創建一個MySQL查詢來選擇是我朋友的用戶的名字(姓名)。我讀過,我必須使用運算符LEFT JOIN,但我沒有成功。

謝謝!

+1

你能用'JOIN'顯示你的嘗試嗎?可能是'INNER JOIN'在這裏更好 – kero

+1

你能展示你嘗試過的查詢,並解釋爲什麼那些沒有返回你想要的? –

回答

1

嘗試使用INNER JOIN代替。請嘗試以下查詢 -

SELECT users.nombre FROM users INNER JOIN friends ON 
(users.id = friends.usuari_o OR users.id = friends.usuari_t) 
WHERE (friends.usuari_o = $id OR friends.usuari_t = $id); 
+0

是的,這很好!但我需要使用一個我發送給php的變量來檢查我的朋友,那就是我的id($ id)。我如何添加這個條件? –

+0

檢查編輯,看看它是你想要的。 :) –

0

我回答自己..它工作!我可以有效地做到嗎? 3在一個查詢中選擇..

SELECT nombre FROM usuarios WHERE id IN 
(SELECT usuari_one FROM friends WHERE usuari_two='$id') 
AND (SELECT usuari_two FROM friends WHERE usuari_one='$id')