2012-08-30 1 views
0

FQL multi-query을 사용하여 친구 프로필 사진 만들기 날짜를 얻으려면 어떻게해야합니까?FQL의 사용자 테이블에서 프로필 사진 만들기 날짜 가져 오기

SELECT src_small, src_big, src FROM photo WHERE src IN 
(SELECT pic_square, pic_small, pic_big, pic FROM user WHERE uid IN 
(SELECT uid2 FROM friend WHERE uid1 = me())) 

을하지만 말한다 :

나는 쿼리 아래 썼다 사전에

{ 

    "error": { 
    "message": "Your statement is not indexable. The WHERE clause must contain an indexable column. Such columns are marked with * in the tables linked from http://developers.facebook.com/docs/reference/fql ", 
    "type": "NoIndexFunctionException", 
    "code": 604 
} 
} 

감사합니다. 아르주나 델 도소에 의해 코멘트에서

+0

(http://whathaveyoutried.com) I 당신은 WHERE 절 경우에만에서 열을 사용할 수 있습니다 내 질문 : – rckoenes

+0

을 그것은으로 표시되어있다. "색인 가능"예 : ('SELECT src_small, src_big, src FROM 사진 WHERE src IN') 'src'는'색인 가능 '하지 않습니다 https://developers.facebook.com/docs/reference/fql/ 사진/ – Shamsiddin

+0

을 수정 –

답변

2

:

당신은 그것을 "색인"로 표시 유일의 경우 WHERE 절에 열을 사용할 수는

아니, 그건 완전히 정확하지 않습니다.

적어도 하나의 색인 가능 열이 where 절에 있어야합니다. 일단 그 색인이없는 다른 열을 사용하면 결과를 더 제한 할 수 있습니다.


사용자의 현재 프로필 사진은 앨범 표지 사진들이 프로필 사진 앨범의, 우리는 우리의 친구의 프로필 사진의 object_id를 얻을 것을 사용할 수 있으며, 해당를 사용하는 것보다에게 항상이기 때문에

photo 테이블에서 우리가 원하는 정보를 선택

[당신이 시도 무엇]
SELECT owner, src_small, created FROM photo WHERE object_id IN (
    SELECT cover_object_id FROM album WHERE owner IN (
    SELECT uid1 FROM friend WHERE uid2 = me() 
) AND name = 'Profile Pictures' 
)