Вывести вывод таблицы в Range - PullRequest
0 голосов
/ 18 апреля 2020

У меня есть таблица ниже, где мне нужно вывести все числа в этой таблице, если HIGH пустое, то число вставляется как есть, если HIGH не пустое, то это диапазон и все значения между LOW и HIGH будет вставлен.

LOW     HIGH
1031    
1100    
3000    3999
1400    1499

1 Ответ

0 голосов
/ 19 апреля 2020

Я думаю, что вы ищете рекурсивный cte, который доступен в SQLite начиная с версии 3.8.3.

with recursive cte as (
    select low, high from mytable
    union all
    select low + 1, high from cte where low < high
)
select low val from cte

Это дает набор результатов с уникальным столбцом с именем val, который содержит все значения в каждом диапазоне; для записей, где high равно null, генерируется одна строка со значением low.

...