誰能告訴我,爲什麼這個工程:FQL像運營商
SELECT name FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1=me()) AND strpos(lower(name),"jo") >=0
然而,這並不:
"SELECT url, id, type, site FROM object_url WHERE strpos(lower(url), 'sephora') >= 0"
當我把它放在http://developers.facebook.com/docs/reference/rest/fql.query/
我得到這樣的迴應:
你的陳述是不可轉位的。 WHERE子句必須包含一個可索引列。這些列在鏈接自http://developers.facebook.com/docs/reference/fql
的表格中用*標記,但是「url」確實是可索引的。
有什麼想法?我已經淘到了stackoverflow但沒有找到答案。
錯字...實際上它應該從一開始就是URL。編輯了這個問題。結果仍然是一樣的。 – Rees 2012-01-31 22:36:54
然後我的猜測是因爲,頂部的例子是沒有使用索引上的函數。所以WHERE使用IN(SELECT uid2 FROM friend WHERE uid1 = me())充當索引,然後使用where子句的其餘部分。所以運行SELECT url,id,type,site FROM object_url WHERE url ='sephora'和strpos(lower(url),'sephora')> = 0將是一個有效的查詢(儘管顯然不會返回任何結果,因爲url = 'sephora'不是一個完整的url),所以它看起來像你需要改變你的查詢恐怕 – TommyBs 2012-02-01 08:28:43