SQL. Поиск информации по сообщениям
/* Ищем сообщения, в которых есть код по маске */
select *
from MSG m
where m.request_data like '%CODE="19-%08"%'
and m.SENDER_ID = 805
and (m.create_time >= TO_DATE('2020-06-05', 'YYYY-MM-DD')
and m.create_time < TO_DATE('2020-06-06', 'YYYY-MM-DD'))
and QUEUE_NAME = 'TRANSPORT_800000001869'
and RPL_OBJ_NAME = 'PURPOSEFULGRANT_2020_800000001869';
/* 2 вариант */
select id,
create_time,
queue_name as Очередь,
rpl_obj_name as ДополнительнаяИнформация,
seq_number as Номер,
case
when dispstatus = 0 then 'Новый'
when dispstatus = 1 then 'Отправлен'
when dispstatus = 2 then 'Получен'
when dispstatus = 3 then 'Обработан'
else 'NONE'
end as Статус,
diagnosis as Диагноз
from msg m
where rpl_obj_name like '%1201000002717%'
--and dispstatus < 3
and receiver_id=0
and create_time >= to_date('29.12.2022', 'dd.mm.yyyy')
order by rpl_obj_name, seq_number;
/* 3 вариант */
SELECT s.CAPTION AS "Отправитель",
case
when m.DISPSTATUS = 0 then 'Новый'
when m.DISPSTATUS = 1 then 'Отправлен'
when m.DISPSTATUS = 2 then 'Получен'
when m.DISPSTATUS = 3 then 'Обработан'
else 'NONE'
end as "Статус",
count(1) AS "Кол-во сообщений"
FROM MSG m
JOIN MSGSITE s ON s.id = m.SENDER_ID
GROUP BY s.CAPTION, m.DISPSTATUS
ORDER BY s.CAPTION;
Комментарии
Отправить комментарий