2012-08-03 71 views
0

我試圖下面的命令在空反饋:FQL凡在與陣列

SELECT * FROM mytable的WHERE字段IN(1,2,3,NULL,5) ,其結果是{R 1, r2,r3} 我想要{r1,r2,r3,NULL,r4},我該怎麼做? 謝謝!

+0

實際上,我想從我的事件讓創作者的名字和照片。然而,一些事件的創造者爲「NULL」,它終止了我的查詢... SELECT id,name,pic FROM profile WHERE id in(SELECT creator FROM event WHERE eid in(SELECT eid FROM event_member WHERE uid = me())) – imcc 2012-08-03 22:19:29

回答

0

你不能。 Facebook會自動過濾出行中的NULL結果。也不能保證結果的順序與您在IN標準中傳遞的參數的順序相同。

您也不能在FQL中使用SELECT *。您必須單獨選擇要返回的字段。

你需要做這樣的事情:

THINGS_TO_FIND = array (1,2,3,NULL,5) 
    RESULT = FQL_URL + urlencode('SELECT field1, field2 FROM table WHERE field1 IN ' + THINGS_TO_FIND') 
    foreach (THING in THINGS_TO_FIND) { 
     foreach (ITEM in RESULT) { 
     if THING == ITEM->field1 then OUTPUT->field1 = ITEM->field2 
     } 
    } 
+0

我實際上是想從我的活動中獲取創作者的名字和圖片。然而,有些事件的創建者爲「NULL」,這終止了我的查詢... SELECT id,name,pic FROM profile WHERE id in(SELECT創建者FROM事件WHERE eid in(SELECT eid FROM event_member WHERE uid = me ))) – imcc 2012-08-03 22:17:56

+1

然後你需要使用多查詢:「{」my_events「:」SELECT eid,creator FROM event WHERE eid IN(SELECT eid FROM event_member WHERE uid = me())「,」event_creators「:」SELECT id,名稱,圖片從配置文件WHERE id IN(SELECT創建者FROM #my_events)「}' – cpilko 2012-08-04 02:41:59