如何在结果游标中合并两个游标?

时间:2013-11-26 05:58:37

标签: android sqlite

我正在使用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和c1,如c1 + c2 = main_cursor

我已将两个游标合并为以下代码:

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

但它在merge_cursor中不起作用我只得到第一个光标(c1)的数据。 可能吗 ?如果有人遇到这类问题,请指导

编写此查询的其他任何方式?

提前谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用Join或Union。

比如一个例子: -

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