2012-05-20 59 views
0

我的數組包含了一些元素:使用表中的Where子句

(
    "element 1", 
    "element 2", 
    "element 3" 
) 

我需要查詢數據庫,並獲取存儲陣列中的上述數據庫中的每一個元素:

select * from table1 where type=? 

我得到了for循環的想法,對於數組,選擇查詢將根據數組的大小重複執行,這並不是很有用。

任何想法,thanx提前:)

+0

它爲什麼被標記爲'iOS'? – rishi

回答

2

使用IN operator

select * from table1 where type in ('element1', 'element2'); 
+0

嗨,thanx爲您的答覆,但在我的情況下''element1','element2'存儲在'NSMutableArray',所以我怎麼能將'NSMutable'數組轉換成像這樣的字符串? – Luca

+0

您應該使用參數化查詢:'select * from table where type(?,?)'then [將它們綁定到您的值](http://www.sqlite.org/c3ref/bind_blob.html) – beerbajay

2

你的意思是這樣

select * from table1 where type in ('type1', 'type2', 'type3')