Последнюю задачку можно решить без рекурсии (я применил лишь для генерации датасета) with base as ( -- генерация данных select 0 id, 1 month, 30 gas union all select id+1, month+1, case month+1 when 8 then 30 /*when 4 then 30*/ -- для проверки else 50 end from base where id=50 ) t
А как вывести иерархию сотрудников вместе с количеством подчиненных сотрудников? Т.е Босс - 4 человека Макс - 2 человека Сотрудник 1 Сотрудник 2 Алекс - 2 человека Сотрудник 3 Сотрудник 4
Последнюю задачку можно решить без рекурсии (я применил лишь для генерации датасета)
with base as ( -- генерация данных
select 0 id, 1 month, 30 gas
union all
select id+1, month+1, case month+1
when 8 then 30
/*when 4 then 30*/ -- для проверки
else 50 end
from base
where id=50
) t
Глеб, спасибо! Хороший материал!
Очень хорошо объяснили, благодарю)
Интересное видео. Спасибо.
Полезная инфа 👍
"Моё любимое действие в жизни - это селект" ))))))
Пишу запросы в PostgreSQL и прихожу к выводу, что туториалы лучше писать на чистом SQL, не используя диалекты.
30:50 как это сделать нерекурсивно?
Круто!
Шик
А почему не использовать оконки?..
Глеб, можете запилить свой курс на какой-нибудь другой платформе, вроде Stepik? Udemy с РФ больше не работает.
На степик уже залит stepik.org/a/116332 Спасибо за интерес к моим курсам!
Процедура называется рекурсией и выглядит таковой, процесс который она порождает имеет итеративную природу, вот и все
Вы проводите индивидуальные занятия по postgresql?
Привет! Нет). Индивидуальные консультации не даю
А как вывести иерархию сотрудников вместе с количеством подчиненных сотрудников? Т.е
Босс - 4 человека
Макс - 2 человека
Сотрудник 1
Сотрудник 2
Алекс - 2 человека
Сотрудник 3
Сотрудник 4
Кажется, если делать префикс рекурсивной таблички не стандартным t, а например r, то читать будет проще и понятнее
Давай назовём префикс - алиесом))
Зачем переменная t ставится во втором селекте? Это имя таблицы? Поэтому во втором селекте пишется (t.имя столбца) из первого селекта?
Я просто всегда ко всем таблицами ставлю псевдонимы