0

次を使用して、Androidアプリからsqliteデータベースを検索しています。

データベースの行は次のとおりです。 ID - KEY_NUMBER - TYPE

Cursor cursor = db.rawQuery("select DISTINCT "+KEY_NUMBER+" from "+TABLE + " DESC", null);

KEY_NUMBERただし、次の場合にのみ、列から個別の値を引き出したいと思います。

TYPE column!=another value

どうすればいいですか?ステートメントを挿入しようとしましたWhereが、機能しませんでした。

TYPE列は、次の3つの値のいずれかに"type1","type2","type3" なります。TYPE!="type1"TYPE=="type2" || "type3"

4

2 に答える 2

2

では、WHERE句は次のようになります。

WHERE TYPE IN ('type2', 'type3')

そして最終的に、行全体は次のようになります。

Cursor cursor = db.rawQuery("select DISTINCT " + KEY_NUMBER + " from " + TABLE + " WHERE TYPE IN ('type2', 'type3') ORDER BY KEY_NUMBER DESC", null);
于 2013-03-21T22:23:03.263 に答える
0

キーワードを削除してDESC、を追加してみてくださいwhere type != '<your_value>'。クエリは次のようになります。

db.rawQuery("select DISTINCT "+KEY_NUMBER+" from "+TABLE + " where " + TYPE + " != '" + <value> + "'", null);

このクエリが正常に機能する場合は、ordering句を追加しますorder by key_number。動作するはずです(少なくともMySQLデータベースでは動作します)。

このリンクでsqliteデータベースの選択構文を確認できます。

これで問題が解決することを願っています。

于 2013-03-21T22:36:25.307 に答える