Você pode usar um CursorJoiner para obter algo semelhante a mesclar dois cursores em um. O CursorJoiner na verdade não executa uma mesclagem. À medida que você itera sobre ele, ele move os dois cursores originais de forma que suas linhas correspondam às colunas especificadas. É por isso que é necessário que ambos os cursores sejam classificados nas colunas que serão usadas na junção.
Link para a documentação:http://developer.android.com/reference/android/database/CursorJoiner.html
Exemplo de código:
CursorJoiner joiner = new CursorJoiner(userCursor, new String[]{ "user_id" }, postCursor, new String[] {"user_id"});
while (joiner.hasNext()) {
CursorJoiner.Result result = joiner.next();
switch (result) {
case LEFT:
// don't care about this case
break;
case RIGHT:
// nor this case
break;
case BOTH:
// here both original Cursors are pointing at rows that have the same user_id, so we can extract values
int postId = postCursor.getInt(...);
String headline = postCursor.getString(...);
int userId = userCursor.getInt(...);
String userName = userCursor.getString(...);
// do something with above values
break;
}
}