Лучший способ объединить таблицы, используя sqlite в Android - PullRequest
23 голосов
/ 19 июля 2010

Я пытаюсь найти лучший способ сделать простое объединение таблиц в моих двух таблицах, используя базу данных sqlite в приложении для Android.Это самый простой способ использовать CursorJoiner или есть более простой способ?

Ответы [ 2 ]

27 голосов
/ 19 июля 2010

В реализации SQLiteDatabase и SQLiteQueryBuilder вы увидите, что можно передать таблицы, которые вы хотите объединить, в аргумент table query, хотя документация подразумевает, что для этого потребуется только одно имя таблицы.Документация для SQLiteQueryBuilder более понятна и даже предлагает такие вещи, как foo, bar или foo LEFT OUTER JOIN bar ON (foo.id = bar.foo_id).

1 голос
/ 26 июля 2014

Если вы хотите использовать стороннюю библиотеку, я рекомендую использовать Active Android

https://github.com/pardom/ActiveAndroid

, используя ее, вы можете объединять таблицы, подобные этой

From query = new Select()
    .from(Foo.class)
    .innerJoin(Bar.class)
    .on("Foo.Id=Bar.Id");

вы даже можете вернуть курсор назад для использования в загрузчиках

Cursor cursor = Cache.openDatabase().rawQuery(query.toSql(), query.getArguments());

подробнее здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...