我試圖找到我的應用程序的兩個用戶之間的相似之處。我已經測試了下面的查詢只是利益屬性,它工作正常:使用FQL查找兩個Facebook用戶之間的相似性
SELECT interests FROM user WHERE uid=me() AND interests IN
(SELECT interests FROM user WHERE uid = $targ_id)
我想將其擴展到找到了下列屬性的相似性:movies, tv, music, books
。修改SELECT
語句是微不足道的,但我不確定如何執行IN
子句。這就是我試圖做:
SELECT interests, movies, tv, music, books FROM user WHERE uid=me()
AND (interests, movies, tv, music, books) IN
(SELECT interests, music, tv, movies, books FROM user WHERE uid = $targ_id)
這又發表了以下錯誤:
{
"error": {
"message": "(#601) Parser error: unexpected ',' at position 82.",
"type": "OAuthException",
"code": 601
}
}
如何調整這個FQL查詢,使其工作?
啊謝謝cpilko - 你是對的!它們存儲在字符串中 - 該死的。我對你在最後一段中的含義有些困惑 - 你是否在建議大查詢方法? – user1058210
不,我不推薦它。我不認爲我會嘗試將它寫入一個領域,因爲我不能保持strpos和substras的直線。獲取數據並在您的服務器上進行分析。 – cpilko
好的,謝謝!所以有如下幾點:1)以數組形式獲取兩個用戶的配置文件信息。 2)對於每個參數,分解字符串並比較值。如果有匹配,則將其添加到「commonDetails」數組中。 3)輸出陣列? – user1058210