私は以下の3つのクエリを書いていました。しかし、最終クエリを得るために3つすべてを組み合わせる必要があります。SQL lite combineクエリ
クエリ1:2つの日付間のすべてのレコードを取得します。
String selectQuery = "SELECT * FROM " + TABLE_ALL_RECORD_MAIN + " WHERE " + KEY_DATE + ">=" + fro + " AND " + KEY_DATE + "<=" + to + " OR " + OUTDATE + ">=" + fro + " AND " + KEY_OUTDATE + "<=" + to;
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
クエリ2: "from_amount"より大きく、 "to_amount"より小さいすべてのレコードを取得します。
String selectQuery_amount = "SELECT * FROM " + TABLE_ALL_RECORD_MAIN + " WHERE " + KEY_AMOUNT + ">=" + from_amount + " AND " + KEY_AMOUNT + "<=" + to_amount;
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery_amount, null);
クエリ3:search_nameに一致するすべてのレコードを取得します。
String selectQuery_amount = "SELECT * FROM " + TABLE_ALL_RECORD_MAIN + " WHERE " KEY_NAME + " like '" + search_name + "'";
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery_amount, null);
Reqiured問合せ:
の1-すべてのクエリの上に組み合わせてクエリを記述します。
例:2014年4月5日から2015年8月9日までのすべてのレコードを、ユーザー「Jack」の金額50000〜60000で取得する。
where節以降のすべてのクエリの間に「AND」を追加します。例えば、...条件1および条件wなど。 – 7geeky