在以前的应用程序中,我是从sqlite数据库中的表中检索数据的。
所以我用以下方法得到数据:
cursor = database.query("CIRCLE", new String[] { "CIRCLE_ID",
"ZONE_ID", "NAME" }, "ZONE_ID = " + id, null, null, null, "NAME");
cursor.moveToFirst();
if (!cursor.isAfterLast()) {
do {
circleLists.add(new CircleList(cursor.getInt(0), cursor
.getInt(1), cursor.getString(2)));
} while (cursor.moveToNext());
}
cursor.close();
现在我需要从一个表中检索数据,这个表的id与另一个表的id匹配,而条件与另一个表的id匹配(在获取数据之后)。
我有SQL查询。我不知道如何在cursor=database.query(…)中实现这个查询。
SQL查询是:
select d.division_id, d.name from division d, division_circle_assoc dca
where d.division_id = dca.division_id and dca.circle_id = 1
最佳答案
cursor = database.rawQuery("select d.division_id, d.name from division d, division_circle_assoc dca
where d.division_id = dca.division_id and dca.circle_id = 1", null);
和
String[] columns = new String[] { KEY_D_ID, KEY_NAME};
String whereClause = KEY_D_ID + "=" + KEY_DD_ID +" AND "+ KEY_C_ID +"= 1";
Cursor cursor = mDb.query(true, DIVISION + " INNER JOIN "+ DIVISION_CIRCLE, columns, whereClause, null, null, null, null, null);
关于android - 如何在Android sqlite数据库中使用查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17058037/