powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Подскажите с рекурсией
1 сообщений из 1, страница 1 из 1
Подскажите с рекурсией
    #39928800
Александр Кузьминов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
Есть один рекурсивный запрос который выдает выгрузку значений, как в этом же селекте написать несколько вложенных селектов, которые будут обращаться к рекурсивному запросу и забирать данные (общее количество поступивших обращений, количество обращений с нарушением SLA и т.д.) ?

Сам рекурсивный запрос:

with recursive R (id, creation_date, datedecision, state) as (
select ts.id, ts.creation_date as "Дата создания", ts.datedecision as "Дата выполнения", ts.state as "Статус", ts.title as "Номер запроса", ou.title as "Название отдела",
case when (ts.overduestate_s='e' OR (ts.overduestate_s='a' AND (CURRENT_TIMESTAMP > to_timestamp(ts.overduestate_d/1000)))) then 'Просрочен' else 'Не просрочен' end as "Просрочен?"
from tbl_servicecall ts
left join tbl_employee e on e.id=ts.solvedbyemployee_id
left join tbl_employee_teams et on et.employee_id=e.id
left join tbl_ou ou on ou.id=e.parent_id
left join tbl_team tt on tt.id=et.teams_id
left join tbl_servicec_analytic sa on sa.servicecall_id=ts.id
left join tbl_analyticalcat ta on ta.id=sa.analyticalfeat_id
where (ts.datedecision > date_trunc('week', current_date) and ts.state in ('closed', 'resolved'))
group by ts.id, ts.title, ts.creation_date, ts.datedecision, ou.title, ts.state, ts.overduestate_s, ts.overduestate_d, ts.case_id
union all
select R.id+1, ts.creation_date, ts.datedecision, ts.state, ts.title, ou.title as title1,
case when (ts.overduestate_s='e' OR (ts.overduestate_s='a' AND (CURRENT_TIMESTAMP > to_timestamp(ts.overduestate_d/1000)))) then 'Просрочен' else 'Не просрочен' end as "Просрочен?"
from tbl_servicecall ts
JOIN R on R.id=ts.number_
left join tbl_employee e on e.id=ts.solvedbyemployee_id
left join tbl_employee_teams et on et.employee_id=e.id
left join tbl_ou ou on ou.id=e.parent_id
left join tbl_team tt on tt.id=et.teams_id
left join tbl_servicec_analytic sa on sa.servicecall_id=ts.id
left join tbl_analyticalcat ta on ta.id=sa.analyticalfeat_id
)
select * from R
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Подскажите с рекурсией
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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