Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Временная таблица с последующим использованием / 5 сообщений из 5, страница 1 из 1
10.10.2019, 10:03
    #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
10.10.2019, 10:04
    #39874433
DeLipFin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Временная таблица с последующим использованием
Вот скриншот запроса
...
Рейтинг: 0 / 0
10.10.2019, 14:56
    #39874637
Partisan M
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Временная таблица с последующим использованием
DeLipFin,
не понял, зачем вам значок # в имени таблицы. PostgreSQL тоже не понял, вот и сообщает об ошибке. Если хотите его иметь, то имя таблицы помещать в "..." - "#testtable".

Чтобы таблица была временной, надо указывать TEMPORARY или TEMP - в вашем примере INTO TEMPORARY "#testtable", или можно сначала создать её как CREATE TEMPORARY TABLE "#testtable"
...
Рейтинг: 0 / 0
14.10.2019, 11:50
    #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
14.10.2019, 14:12
    #39875987
DeLipFin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Временная таблица с последующим использованием
Partisan M,

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


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