Как использовать запрос для множественного аргумента выбора, используя один столбец выбора

Вот мой запрос:

// Имя таблицы: вопрос

Cursor cursor = db.query("QUESTION", new String[] { "TEXT", "OPTION_A", "OPTION_B", "OPTION_C", "OPTION_D", "OPTION_E", "RIGHT_ANSWER" }, "SUBJECT=?", new String[] { "Ingles", "Historia" }, null,null, null); 

У меня может быть несколько предметов, сейчас у меня всего два предмета (Ingles, Historia)

Как сортировать данные по темам с помощью запроса?

Я получаю ошибку привязки или вне диапазона. Я знаю, что ошибка находится где-то в разделе where , но не может ее решить.

Я получил ответ.

1) Для сортировки данных необходимо ввести имя столбца в последнем аргументе

2) Если в одном столбце доступно несколько условий выбора, используйте IN Operator .

  Cursor cursor = db.query("QUESTION", new String[] { "TEXT", "OPTION_A", "OPTION_B", "OPTION_C", "OPTION_D", "OPTION_E", "RIGHT_ANSWER" }, "SUBJECT IN(?,?)", new String[] { "Ingles", "Historia" }, null,null, "SUBJECT"); 

Вы получаете эту ошибку, потому что число «?» Где и длина массива в аргументах несоответствие. Вы можете поставить условие, подобное этому
1) Используя два условия:

  Курсор курсор = db.query («ВОПРОС», новая строка [] {«ТЕКСТ», «ОПЦИЯ_А», «ОПЦИЯ_Б», «ОПЦИЯ_С», «ОПЦИЯ_Д», «ОПЦИЯ_Е», «ВПРАВО],« СУБЪЕКТ1 =? И SUBJECT2 =? ", Новый String [] {" Ingles "," Historia "}, null, null," SUBJECT "); 

2) Используя условие IN

  Курсор курсора = db.query («ВОПРОС», новая строка [] {«ТЕКСТ», «ОПЦИЯ_А», «ОПЦИЯ_Б», «ОПЦИЯ_С», «ОПЦИЯ_Д», «ОПЦИЯ_Е», «ПРАВОЙ_ЗАЩИТНИК»}, «ТЕМА ВХОДА (? ) ", Новая строка [] {" Ingles, Historia "}, null, null," SUBJECT ");