0

私は正しい軌道に乗っていると思います。必要な sql コマンドがわかりません。

このテーブルには、キー、加数、カテゴリ ID を入れています。すべての異なる加数の 1 つのインスタンスを取得したいと考えています。

それで

 1  10  3045
 2  10  4055
 3  20  4444
 4  30  1111
 5  30  7455
 6  30  7000
 7  41  8877

[10,20,30,41] で満たされた配列を取得します

public ArrayList<String> getFinalCategorysCatIDsBasedOnAddend() {
    String[] columns = new String[] { KEY_ROWID_TABLE_4, KEY_BUTTON_TAG_ADDEND, KEY_CAT_ID };
    Cursor c = ourDatabase.query(DATABASE_TABLE_4, columns, KEY_BUTTON_TAG_ADDEND+" unique ", null,
            null, null, null);
    ArrayList<String> cat = new ArrayList<String>();
    int iSites = c.getColumnIndex(KEY_CAT_ID);
    for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
        cat.add(c.getString(iSites));
    }
    c.close();
    return cat;
}

ありがとう

編集:

解決

クエリを次のように変更しました

Cursor c = ourDatabase.query(true, DATABASE_TABLE_4, columns, KEY_BUTTON_TAG_ADDEND, null,
            KEY_BUTTON_TAG_ADDEND, null, null,null);
4

1 に答える 1

1

このquery()メソッドを使用すると、最初のパラメーターを に設定しtrueて、個別の結果を受け取ることができます。

public Cursor query (
    boolean distinct, 
    String table, 
    String[] columns, 
    String selection, 
    String[] selectionArgs, 
    String groupBy, 
    String having, 
    String orderBy, 
    String limit
)
于 2013-08-08T14:12:21.553 に答える