私は以下のDBを持っていますが、SQLコマンドを実行しようとすると、実行すべきことを完全に実行できません(以下のコードはcursorSize
、1である必要がありますが、0を示しています)。
私が実行するコードは次のとおりです。
SQLiteDatabase db = this.getReadableDatabase();
String countQuery = "SELECT songid FROM TABLE_TRACKS WHERE (tagid = 7 OR tagid = 10) AND tagid = 9";
Cursor cursor = db.rawQuery(countQuery, null);
int cursorSize = cursor.getCount();
括弧を変更して作成すると、where句と関係があります。
WHERE (tagid=9 AND tagid = 7) OR tagid=10
それint cursorSize
は2であるために機能します。SQLWHERE句またはAND/OR演算子について、私が見逃している何か、または私が知らない何かがありますか?
誰かが私のためにこれを説明してくれて、私が望む結果を得る方法を教えてくれたら本当にありがたいです。songid
(以下では、に等しい1行を返し3
ます。)