我必須在MySQL數據庫,USERS和FRIENDS中創建表。他們有這樣的結構:使用PHP從MySQL獲取朋友列表
users表:
FRIENDS表(兩個用戶的朋友只有當圖像中存在像兩行):
我想在PHP中創建一個MySQL查詢來選擇是我朋友的用戶的名字(姓名)。我讀過,我必須使用運算符LEFT JOIN,但我沒有成功。
謝謝!
我必須在MySQL數據庫,USERS和FRIENDS中創建表。他們有這樣的結構:使用PHP從MySQL獲取朋友列表
users表:
FRIENDS表(兩個用戶的朋友只有當圖像中存在像兩行):
我想在PHP中創建一個MySQL查詢來選擇是我朋友的用戶的名字(姓名)。我讀過,我必須使用運算符LEFT JOIN,但我沒有成功。
謝謝!
嘗試使用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);
是的,這很好!但我需要使用一個我發送給php的變量來檢查我的朋友,那就是我的id($ id)。我如何添加這個條件? –
檢查編輯,看看它是你想要的。 :) –
我回答自己..它工作!我可以有效地做到嗎? 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')
你能用'JOIN'顯示你的嘗試嗎?可能是'INNER JOIN'在這裏更好 – kero
你能展示你嘗試過的查詢,並解釋爲什麼那些沒有返回你想要的? –