Гость
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как совместить в одном запросе with и with recursive / 5 сообщений из 5, страница 1 из 1
05.06.2019, 09:09
    #39822620
Galicin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как совместить в одном запросе with и with recursive
mysql 8
Подскажите, как сначала создать не рекурсивный запрос в with (в примере это t1), чтобы потом создать рекурсивный запрос ( в примере t2) с использованием ранее созданного t1?

Пример:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
with t1 as (
    select 'data' as colum
),
recursive t2 as (
    select 1 as num, t1.colum as colum
    from t1
    union all
    select t2.num+1 as num, t2.colum as colum
    from t2
    where t2.num<4)
select *
from t2
...
Рейтинг: 0 / 0
05.06.2019, 09:32
    #39822633
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как совместить в одном запросе with и with recursive
Либо WITH, либо WITH RECURSIVE. Первое означает, что все CTE нерекурсивны, второе - что среди CTE могут (но не обязаны) быть рекурсивные.
...
Рейтинг: 0 / 0
05.06.2019, 09:44
    #39822642
Galicin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как совместить в одном запросе with и with recursive
AkinaЛибо WITH, либо WITH RECURSIVE. Первое означает, что все CTE не рекурсивны, второе - что среди CTE могут (но не обязаны) быть рекурсивные.
Спасибо! Перенёс RECURSIVE и всё заработало
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
with recursive t1 as (
	select 'data' as colum
),
 t2 as (
	select 1 as num, t1.colum as colum
    from t1
    union all
    select t2.num+1 as num, t2.colum as colum
    from t2
    where t2.num<4)
select *
from t2



Может кто уточнить - существенно ли увеличение затрат при WITH RECURSIVE относительно WITH с базами в несколько миллионов строк?
...
Рейтинг: 0 / 0
05.06.2019, 10:08
    #39822656
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как совместить в одном запросе with и with recursive
Galicinсущественно ли увеличение затрат при WITH RECURSIVE относительно WITH с базами в несколько миллионов строк?Лучше бы проверить экспериментально - документация, в т.ч. и internals, ничего конкретного по этому поводу не говорят. Однако я сомневаюсь, что там будет большой оверхед - разве что по памяти...
...
Рейтинг: 0 / 0
05.06.2019, 10:10
    #39822658
Galicin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как совместить в одном запросе with и with recursive
AkinaGalicinсущественно ли увеличение затрат при WITH RECURSIVE относительно WITH с базами в несколько миллионов строк?Лучше бы проверить экспериментально - документация, в т.ч. и internals, ничего конкретного по этому поводу не говорят. Однако я сомневаюсь, что там будет большой оверхед - разве что по памяти...
Огромное спасибо! тема закрыта
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как совместить в одном запросе with и with recursive / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]