0

DBAdapterのクラス定義にメモ帳の例を使用しています。

私のテーブル構造の例:

Vehicle -> "_id", "registration", "idmake", "model"
Make -> "_id", "name"

現在、クエリを使用して車両データを取得し、ListViewに入力しています。

public Cursor fetchVehicles() {

    return mDb.query("Vehicle", new String[] { "_id", "registration",
            "idmake", "model" }, null, null, null, null, null);
}

私の質問は、idmakeフィールドの代わりに対応するMake名を返すことを除いて、このようなクエリを作成するにはどうすればよいですか?

ありがとう

4

1 に答える 1

1

JOINこれらの2つのテーブルが必要です。

String SELECT_NAME = "SELECT M.name FROM Make M INNER JOIN Vehicle V ON M._id = V._id";
cursor.rawQuery(SELECT_NAME, null);

rawQueryメソッドの2番目のパラメータは次のwhere argsように実行できるようになります。

String ANOTHER_SELECT = "SELECT M.name FROM Make M INNER JOIN Vehicle V ON M._id = V._id WHERE M._id = ?";
cursor.rawQuery(ANOTHER_SELECT, new String[] {String.valueOf(<dataId>)});

rawQueryメソッドについて少し

よろしく

于 2012-05-28T17:32:31.657 に答える