2013-11-26 28 views
0

我正在使用sqlite,我已经用“IN”操作符解雇了一个查询,但是花费了很多时间来显示数据。我的查询是以下几点:如何在合成游标中合并两个游标?

String Sql_query = "select id as _id,PARTY_NAME, PARTY_ADD1 as PARTY_ADD1,PARTY_KEY,PARTY_VAT from PARTYMAST where PARTY_KEY in( Select OUTACCD from OUTLETMST where OUTSMCD = " + salesman_code + " and Party_name like '" + etsearch.getText() + "%')"; 

我们减少的时间来获取数据我已经像下面两个光标:

String Sql = "select id as _id,PARTY_NAME, PARTY_ADD1 as PARTY_ADD1,PARTY_KEY,PARTY_VAT from PARTYMAST"; 

String Sql2 = "Select OUTACCD from OUTLETMST where OUTSMCD = " + salesman_code + " and Party_name like '" + etsearch.getText() + "%')"; 


Cursor c1 = dbhelper.showdata(this,Sql); 

Cursor c2 = dbhelper.showdata(this,Sql2); 

现在我想在一个光标一样c1 + c2 = main_cursor合并这两个光标C1和C1

我已经合并双方光标像下面的代码:

MergeCursor merge_cursor = new MergeCursor(new Cursor[] { 
       c1, c2}); 

但它没有在merge_cursor中工作,我只获得第一个游标(c1)的数据。 这可能吗?请指导,如果有人面临这种​​类型的问题

任何其他方式来写这个查询?

预先感谢您。

+0

使用加入你的SQL查询。 –

+0

“合并”是什么意思? –

回答

1

您可以使用Join或Union。

像一个例子: -

sql = sql1; 
sql += " UNION " 
sql += sql2;