0
我正試圖讓會話用戶的所有共同朋友與另一個用戶。 這是我的結構:我想從數據庫中選擇共同的朋友,我該如何去做這件事?
CREATE TABLE `friends` (
`friends_id` int(11) NOT NULL,
`friends_user` int(11) NOT NULL,
`friends_friend` int(11) NOT NULL,
`friends_date_added` datetime NOT NULL,
`friends_enabled` varchar(15) NOT NULL DEFAULT 'enabled'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
我friends_user可以包含如果瀏覽用戶的會話ID或其他人的ID(取決於誰送的) 與同爲friends_friend,可以包含瀏覽用戶的會話ID,或發送它的人。 那麼我怎樣才能找到他們的共同朋友?任何幫助將非常令人沮喪。
所以它可以像這樣:
friends_user | friends_friend
1 2
2 3
1 3
5 3
2 5
這是我的朋友選擇了SQL,但我需要添加更多的代碼來獲得共同的朋友與另一ID:
SELECT * FROM friends
LEFT JOIN users
ON users.user_id = friends.friends_user AND friends.friends_user != ?
OR users.user_id = friends.friends_friend AND friends.friends_friend != ?
LEFT JOIN user_personal_information
ON users.user_id = user_personal_information.user_personal_information_user
WHERE (friends_user = ?
AND friends_enabled = 'enabled'
AND users.user_enabled = 'enabled')
OR (friends_friend = ?
AND friends_enabled = 'enabled'
AND users.user_enabled = 'enabled')
互聯網對網絡有什麼看法 共同的朋友? – Strawberry
我不明白,對不起 – 4334738290
這裏是僞代碼:選擇所有的用戶朋友作爲set1,然後選擇所有其他用戶朋友作爲set2,然後將它們加在一起,他們是相同的 - 這會給你你正在尋找的列表對於 – Randy