2

以前のアプリケーションでは、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(データを取得した後)と一致する1つのテーブルからデータを取得する必要があります。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
4

1 に答える 1

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);
于 2013-06-12T05:12:12.923 に答える