2011-07-29 38 views
2

需要獲取不使用JS的共同朋友的名字和圖片。幫助瞭解共同朋友的fql查詢

找到FQL查詢下面的共同的朋友:

"SELECT uid1 FROM friend WHERE uid2=[targetID] AND uid1 IN (SELECT uid2 FROM friend WHERE uid1=[sourceID])"

有沒有一種辦法,而不是說只返回uid1我能得到這個人的名字和照片?

編輯 -----------以爲我找到了。

"SELECT first_name, last_name, pic_small FROM user WHERE uid IN(SELECT uid1 FROM friend WHERE uid2=['targetID'] AND uid1 IN (SELECT uid2 FROM friend WHERE uid1=['sourceID'])) "

+0

是'朋友'表鏡像?也就是說,如果A是B的朋友,B是A的朋友?你關心重複嗎? –

+0

這是來自Facebook,所以我認爲是的,它是重複的。 – pcasa

回答

3
SELECT uid, first_name, last_name, pic_small 
FROM user 
WHERE uid IN (
    SELECT uid2 
    FROM friend 
    WHERE uid1 = ['sourceID'] 
) 
AND uid IN (
    SELECT uid2 
    FROM friend 
    WHERE uid1 = ['targetID'] 
) 

這將找到的任何用戶(A),這兩個源用戶(B)和目標用戶(C),是朋友。不一定是相反的; A與B和C成爲朋友。

如果朋友表真實地被鏡像(即對於每一行(x,y),也有行(y,x)),這種區別無關緊要。