Я работаю с 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). Возможно ли это? Пожалуйста, направляйте, если кто-либо сталкивается с этим типом ошибок
Любой другой способ написать этот запрос?
Заранее спасибо.
Использование присоединиться вашего запроса. –
Что именно вы подразумеваете под «слиянием»? –