Начало » Использование СУБД » PostgreSQL » Выполнение запроса в цикле на уровне SQL запроса (Выполнение запроса в цикле на уровне SQL запроса)
Выполнение запроса в цикле на уровне SQL запроса [сообщение #5249] |
Fri, 19 July 2024 12:16 |
qwerty5000
Сообщений: 13 Зарегистрирован: July 2024
|
Junior Member |
|
|
Доброго времени суток!
Коллеги, требуется помощь в решении задачки.
Дано:
Имеется вот такой запрос который транспонирует временной ряд в более реляционный вид (запрос упрощен и представлен для одного тега).
Запрос вытаскивает последнее значение за сутки.
На вход получаю произвольную дату на основе которой необходимо сформировать отчет за месяц, пусть будет 19.07.2024
SELECT
'Дата' AS repdate,
CASE WHEN t1.tagname = 'ASRMB.U_AVT12.FT0002.Out.Mt' THEN t1.dvalue END AS ASRMB_U_AVT12_FT0002_Out_Mt,
FROM (
SELECT case when h.recordtype = 'inner' then h.valdouble else NULL END AS dValue, h.time, n.tagname
FROM nodes_history h JOIN nodes n ON n.NodeId = h.NodeId
WHERE n.TagName = 'ASRMB.U_AVT12.FT0002.Out.Mt' AND (h.time BETWEEN '2024-07-18 00:00:00.00' AND '2024-07-18 23:59:59.00') AND h.recordtype != 'ubound' ORDER BY h.time DESC LIMIT 1) t1,
Нужно:
На уровне SQL запроса, как-то разложить дату от 19 числа по 1 число с шагом в сутки.
Поочередно подставить каждую дату в запрос и в результате получить набор значений по дням с 1 по 19 число месяца.
Буду очень признателен за любую посильную помощь, времени совсем нет, а заказчик не ждет.
Спасибо!
[Обновления: Fri, 19 July 2024 12:32] Известить модератора
|
|
|
Переход к форуму:
Текущее время: Thu Nov 21 16:49:46 GMT+3 2024
Общее время, затраченное на создание страницы: 0.01470 секунд
|