我有以下型号
类别(id,名称,is_active)地点(id,名称,category_id,.....)
根据用户偏好,类别将是0 or 1
。基于此偏好,我想查询其categories.is_active = 1
.
我认为有两种方法
第一种方法
- 查询并获取is_active = 1的所有Categories
- 从上述检索到的类别 ID 集合中获取所有地点的列表。
第二种方法
使用 JOIN 编写 RawQuery 并设置条件。
优化速度的最佳方法是什么?
我试过什么?
// Get Active Categories
public Cursor getActiveCategories() {
return db.query(TABLE_CATEGORIES, new String[] { COLUMN_ID,
COLUMN_NAME, COLUMN_SLUG, COLUMN_ACTIVE }, COLUMN_ACTIVE + "="
+ "'1'", null, null, null, COLUMN_NAME, null);
}
// Get Places
public Cursor getPlaces() {
return db.query(TABLE_PLACES, new String[] { COLUMN_ID, COLUMN_NAME },
" type IN ('1','2')", null, null, null, null);
}
在上面的代码中,如何IN ('1','2')
动态插入类型以便我可以从第一种方法的结果中填充它?