如何在SQLite for Android中编写查询?

如何在SQLite for Android中编写查询?,android,sqlite,Android,Sqlite,我正在开发Android SQLite数据库,我的要求是从两个表中获取数据。桌子是地位和用餐者 状态表: 就餐者餐桌: 我的目的是在diners表中的din-status\U color列值与status表中的color\U status-id列值相等时,从status表中获取color\U desc的数据 如何在Android SQLite中编写查询?这里有一个完整的教程,它对bast很有帮助,我希望对你也有帮助 这一个对于首先迭代diners表,从列din_status_color中获取所有

我正在开发Android SQLite数据库,我的要求是从两个表中获取数据。桌子是地位和用餐者

状态表:

就餐者餐桌:

我的目的是在diners表中的din-status\U color列值与status表中的color\U status-id列值相等时,从status表中获取color\U desc的数据


如何在Android SQLite中编写查询?

这里有一个完整的教程,它对bast很有帮助,我希望对你也有帮助


这一个对于

首先迭代diners表,从列din_status_color中获取所有值,可能都大于0

之后,迭代状态表,并将color_status-id与diners表中的din_status_颜色进行比较。如果匹配,则返回颜色描述

这将帮助您:

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;
}

我不是SQLite专家,但我认为一个简单的join语句应该可以工作。像这样的事情可能会让你开始

  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和颜色_desc

您做了什么?给我们看一些作品。