Вы можете просто выполнить rawQuery.
Например что-то вроде этого:
db.rawQuery("SELECT a.*
FROM table_1 a
INNER JOIN table_2 b ON a.id=b.anyId
INNER JOIN table_3 c ON b.id= c.anyId
WHERE c.key = ?", new String[]{"test"});
Первый параметр запроса вы хотите выполнить. Для всех ваших ключей, которые вы хотите добавить в свой запрос, просто добавьте ?
в запрос.
Второй параметр - это строковый массив. В этом массиве вы кладете свои ключи, как пример, приведенный выше значения test
.
EDIT:
это также можно использовать для rawQuery update
, insert
или delete
.
Например, один простой запрос обновления:
db.rawQuery("UPDATE table_1
SET fieldA = ?,
fieldB = ?
WHERE id = ?", new String[]{"test", "test2", "1"});
http://www.w3schools.com/sql/sql_join.asp проверить этот и использовать другой тип соединяет в соответствии с вашими требованиями .... – SBJ
Спасибо за ваш ответ SBJ на самом деле я знаю об этих объединениях, но я не уверен, как выполнять то же самое в android – Siva