1
我正在嘗試開發一個功能,向朋友展示我的朋友,以及我與這些用戶有多少共同朋友。到目前爲止,我已經能夠獨立完成這些功能,但不能在一起。共同的朋友 - MySQL
這裏是我使用的主視圖叫做userfriends。其中user1是第一個用戶,user2是朋友。
這是我所研製看到
SELECT id FROM users
WHERE id IN (
SELECT user2 FROM userfriends WHERE user1 = me
) AND id IN (
SELECT user2 FROM userfriends WHERE user1 = second
)
用戶兩個用戶之間共同的朋友的功能是它可以在userfriends表中找到的用戶ID鏈接到有關的一個主表用戶。我和第二個是模擬搜索第一個和第二個用戶的存儲過程中的變量。此功能用於計劃。
我的第二個功能是看到所有與我的朋友是朋友的用戶,但不與我在一起。
SELECT user2 AS id
FROM userfriends
WHERE user1 IN (
#Selects my friends
SELECT user2 FROM userfriends
WHERE user1 = me
)
AND user2 <> me #Makes sure is not me
AND user2 NOT IN (#Makes sure not already friend
SELECT user2 FROM userfriends
WHERE user1 = me
)
再一次,所有正在計劃和我的工作代表用戶ID。這將返回我所有朋友朋友的列表。
我希望能夠得到共同的用戶列表,或者我的朋友的朋友列表,而不是什麼是:
其中有我的朋友的朋友的用戶ID和多少個共同的朋友我和一個表用戶份額。等:用戶:1,friends_in_common:103.如果我不夠清楚,請問,我會盡量讓它更清楚。這兩個函數自己做,但我不知道如何將它合併在一起。
嘿,這似乎在做什麼?但你能解釋一下嗎?因爲我不是100%確定它是正確的 – MichaelH
你走了。 (對我來說,SQL比我的文本解釋更具可讀性;-) – wildplasser
太棒了!似乎是完美的工作。 – MichaelH