-3

我正在研究 Android SQLite 数据库,我的要求是从两个表中获取数据。桌子是地位和食客。

状态表:

在此处输入图像描述

食客表:

在此处输入图像描述

我的目的是当 diners 表中的 din-status_color 列值和状态表中的 color_status-id 列值相等时,从状态表中获取 color_desc 的数据。

如何在 Android SQLite 中编写查询?

4

3 回答 3

1

这是一个完整的教程,它对我有帮助,我希望也能帮助你。

很好的教程

这个适合初学者

于 2012-11-14T12:58:12.887 回答
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;
}
于 2012-11-14T14:38:52.927 回答
0

我不是 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 和 color_desc

于 2012-11-14T18:31:26.093 回答