SQL:http://www.sqlfiddle.com/#!2/0f7a0d5/4如何選擇數據庫MySQL的待處理的交友請求
表包含這些行:
INSERT INTO `friends` (`asker_user_id`, `asked_user_id`, `status`) VALUES (1,2,1);
INSERT INTO `friends` (`asker_user_id`, `asked_user_id`, `status`) VALUES (2,1,1);
INSERT INTO `friends` (`asker_user_id`, `asked_user_id`, `status`) VALUES (3,2,1);
此查詢選擇當前用戶的雙向朋友:
SELECT f1.asked_user_id AS friend_id
FROM friends AS f1 JOIN friends AS f2
ON f1.asked_user_id = f2.asker_user_id
AND f1.asker_user_id = f2.asked_user_id
WHERE f1.status = 1 AND f2.status = 1
AND f1.asker_user_id = 2
所以結果爲1.因爲用戶2只有用戶1作爲雙向朋友。
如何顯示用戶2的掛起請求?用戶2在何處被ask_user_id?
THis(3,2,1)是用戶2的未決請求。其中3問2是朋友。爲了讓他們成爲雙向朋友,將會創建新的條目(2,3,1)。
什麼是peding?狀態不是1? –
BTW'f1.asker_user_id'應該在'WHERE'子句中。 「ON」應該只包含表之間的關係(除了在外連接中,在某些情況下可能需要單表條件)。 – Barmar
@FilipeSilva沒有掛起狀態是當條目不存在時。 –