Мне нужно это решение для моего приложения Android, которое использует библиотеку Room для сохранения данных.Мне нужно реализовать решение, при котором список значений строк передается пользователем, он сравнивается с данными в таблице и затем возвращается обратно как с сопоставленными, так и с несогласованными результатами.
Таким образом, в некотором смыслеЯ хочу, чтобы все строковые значения, заданные пользователем, возвращались обратно независимо от того, были ли они сопоставлены с табличными значениями или нет.Однако у сопоставленных значений будет больше данных из таблицы, а несоответствующие значения будут просто значениями.
Например, у меня есть таблица tasks
, имеющая столбцы, а именно task_id
, task_title
, task_status
.Эта таблица содержит следующие данные:
1, «Задача 1», «В процессе»
2, «Задача 2», «В ожидании»
3, 'Задача 3 ',' Завершено '
4,' Задача 4 ',' В процессе '
Теперь пользователь передает список значений, чтобы проверить, есть ли какие-либо данные, доступные для любого из этихили нет.Если есть совпадение, они хотели бы получить статус этой задачи.Этот список передается в виде String[]
и может содержать любые значения и любое количество значений.Предположим, что строковый массив имеет следующий вид:
{'Task 2', 'Task 3', 'Task 5'}
Какой запрос потребуется для получения следующих результатов:
'Задача 2', «В ожидании»
«Задача 3», «Завершено»
«Задача 5», Недоступно (или любое другое или нет сообщения)
Итак, мне нужновсе значения передаются через строковый массив, возвращенный с данными против тех, которые были сопоставлены, и без данных (или сообщений) с теми, которые не совпадают.
То, что я уже пробовал, это запросы вследующая форма:
@Query("SELECT task_title, task_status FROM tasks WHERE task_title IN (:values)")
LiveData<List<Task>> getTasks(String[] values);
Будет возвращено следующее, как показано в примере выше:
«Задание 2», «В ожидании»
'Задача 3 ',' Завершено '
Не возвращает непревзойденное значение «Задача 5», которое фактически требуется вернуть.
Любая помощь будет принята с благодарностью, спасибо!