我正在研究Android SQLite数据库,我的要求是从两个表中获取数据。表格是状态和食客。
状态表:
食客表:
我的目的是当diners表中的din-status_color列值和status表中的color_status-id列值相等时,从状态表中获取color_desc的数据。
如何在Android SQLite中编写查询?
答案 0 :(得分:1)
答案 1 :(得分:0)
首先遍历diners表并从“din_status_color”列获取所有值(可能全部大于0)
之后迭代状态表并将“color_status-id”与diners表中的“din_status_color”进行比较。如果匹配则返回color_desc。
这将对您有所帮助:
protected String getColorDesc(){
String[] din_status_color = {"din-status_color"};
String[] color_desc = {"color_desc"};
Cursor cursor = database.query("diners", din_status_color, "din_status_color > '0'", null, null, null, null);
cursor.moveToFirst();
Cursor cursor2 = database.query("status", color_desc, "color_status-id = '" + cursor.getInt(0) + "'", null, null, null, null);
cursor2.moveToFirst();
String colorDesc = cursor2.getString(0);
cursor2.close();
cursor.close();
return colorDesc;
}
答案 2 :(得分:0)
我不是SQLite专家,但我认为一个简单的连接语句应该可行。这样的事情可能会让你开始。
Cursor c = database.rawQuery("select diners.id, status.color_desc from dinners inner join status on status.color_status_id = diners.din_status_color");
在此示例中,光标将具有晚餐ID和color_desc