SQlite запрос выводит только одну строку
Есть две таблицы Profile - id, idOrder и т.д. и Order - id, idBatch и т.д.
Задача вытянуть из таблицы Profile все данные по idOrder.
Из данного запроса выводится только первый элемент по idBatch, хотя в таблице Order их много.
Просьба помочь с запросом.
@Query("SELECT * FROM Profile WHERE idOrder == (SELECT id FROM `Order` WHERE idBatch = :idBatch) ")
Single<List<Profile>> getAllByIdBatch(long idBatch);
Дополнение - цель запроса: выбрать все записи из таблицы Profile, в которых поле idOrder соответствует полю id таблицы Order в которой поле IdBatch соответствует заданному значению getAllByIdBatch(long idBatch)
Ответы (1 шт):
Автор решения: Спицко Дмитрий
→ Ссылка
должно быть
SELECT * FROM Profile WHERE idOrder in (SELECT id FROM `Order` WHERE idBatch = :idBatch)
Если использовать равенство, то он возьмет первую строку из подзапроса и будет сравнивать с ней. Вот вы и получили только одну строку в ответе