powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Временная таблица с последующим использованием
5 сообщений из 5, страница 1 из 1
Временная таблица с последующим использованием
    #39874431
DeLipFin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день всем кто зашел сюда.
Я никогда не занимался запросами, но на работе приспичило написать пару запросов для отчетности и графана.
Некоторым озам я обучился и написал запросы. Сейчас нужно запрос (смотреть вложение, надеюсь глаза не поломаете, так как я не знаю как оптимизировать его, потому что скилл не прокачен в postgres) переместить в временную таблицу и потом значения которые там переумножить на некоторые значения и сложить результат по строчкам. Ниже укажу скриншот запроса, то что столбы имеют одинаковые наименования было сделано для того чтобы увидить полную таблицу.
Пробовал самостоятельно создать хоть какую нибудь не получается
SELECT ‘1’ as Alecsey
INTO #testtable
FROM public.ticket
WHERE (change_time BETWEEN '2019-09-01 00:00:00' AND '2019-09-30 00:00:00') AND user_id=59 AND ticket_state_id=2 AND service_id=1
UNION ALL
SELECT ‘2’ as Andrey
FROM public.ticket
WHERE (change_time BETWEEN '2019-09-01 00:00:00' AND '2019-09-30 00:00:00') AND user_id=24 AND ticket_state_id=2 AND service_id=1

ругается на #
...
Рейтинг: 0 / 0
Временная таблица с последующим использованием
    #39874433
DeLipFin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот скриншот запроса
...
Рейтинг: 0 / 0
Временная таблица с последующим использованием
    #39874637
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeLipFin,
не понял, зачем вам значок # в имени таблицы. PostgreSQL тоже не понял, вот и сообщает об ошибке. Если хотите его иметь, то имя таблицы помещать в "..." - "#testtable".

Чтобы таблица была временной, надо указывать TEMPORARY или TEMP - в вашем примере INTO TEMPORARY "#testtable", или можно сначала создать её как CREATE TEMPORARY TABLE "#testtable"
...
Рейтинг: 0 / 0
Временная таблица с последующим использованием
    #39875876
DeLipFin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Partisan M,

Спасибо за помощь. Получилось создать временную таблицу, теперь возник вопрос один.
А можно ли вообще с этой таблицей применять умножение и сложение? В ячейках указанны count(id). Если да не могли бы показать пример. (у каждого столбца есть кооэфициент, например первый столбец кооэф. 2, второй 6 и тд и потом результаты столбцов сложить и вывести результат по строке)

Навсякий ниже напишу чуть запрос для наглядности и вложениях скриншот временной таблицы

SELECT text 'Алексей' AS Имя, Count(ID) AS АИС,
(SELECT Count(ID) AS ПВД FROM public.ticket
WHERE (change_time between '2019-09-01 00:00:00' and '2019-09-30 24:00:00') AND user_id=59 AND ticket_state_id=2 and service_id=2)
INTO TEMPORARY "#testtable"
FROM public.ticket
WHERE (change_time BETWEEN '2019-09-01 00:00:00' AND '2019-09-30 24:00:00') AND user_id=59 AND ticket_state_id=2 AND service_id=1
UNION ALL
SELECT text 'Андрей' AS Имя, Count(ID) AS АИС,
(SELECT Count(ID) AS ПВД FROM public.ticket
WHERE (change_time between '2019-09-01 00:00:00' and '2019-09-30 24:00:00') AND user_id=24 AND ticket_state_id=2 and service_id=2)
FROM public.ticket
WHERE (change_time BETWEEN '2019-09-01 00:00:00' AND '2019-09-30 24:00:00') AND user_id=46 AND ticket_state_id=2 AND service_id=1
...
Рейтинг: 0 / 0
Временная таблица с последующим использованием
    #39875987
DeLipFin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Partisan M,

Все разобрался со своей проблемой
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Временная таблица с последующим использованием
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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