Для одного запроса требуется иметь временную таблицу с числами из некоторого промежутка (чисел не больше нескольких десятков). Я могу это сделать через WITH:
WITH days AS (SELECT :startDay AS d UNION ALL SELECT d + 1 FROM days WHERE d + 1 < :stopDay)
SELECT ... FROM days, ...
Вроде всё работает, но есть одна проблема - этот запрос находится внутри Android-приложения и использует встроенный SQLite. И на старых версиях Android конструкция WITH почему-то не работает. Нужно как-то переписать без использования конструкции WITH.
Если что, я могу сгенерировать последовательность чисел в коде приложения и передать в запрос уже её). Подставится в виде:
5, 6, 7, 8, 9, ...
Но надо как-то из этого сделать in-memory таблицу из одной колонки, существующую только 1 SELECT.
В тред приглашаются SQL-гуру.
UPD: Если сделать запрос типа:
select * from (VALUES (1), (2), (3)) AS t;
То мы получим временную таблицу с 3 строчками и одним полем. Но есть одна проблема - Android Room может делать (1, 2, 3), но не (1), (2), (3). То есть вместо строк получаются столбцы.