Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
10.10.2019, 10:03
|
|||
---|---|---|---|
|
|||
Временная таблица с последующим использованием |
|||
#18+
Добрый день всем кто зашел сюда. Я никогда не занимался запросами, но на работе приспичило написать пару запросов для отчетности и графана. Некоторым озам я обучился и написал запросы. Сейчас нужно запрос (смотреть вложение, надеюсь глаза не поломаете, так как я не знаю как оптимизировать его, потому что скилл не прокачен в 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 ругается на # ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.10.2019, 10:04
|
|||
---|---|---|---|
|
|||
Временная таблица с последующим использованием |
|||
#18+
Вот скриншот запроса ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.10.2019, 14:56
|
|||
---|---|---|---|
|
|||
Временная таблица с последующим использованием |
|||
#18+
DeLipFin, не понял, зачем вам значок # в имени таблицы. PostgreSQL тоже не понял, вот и сообщает об ошибке. Если хотите его иметь, то имя таблицы помещать в "..." - "#testtable". Чтобы таблица была временной, надо указывать TEMPORARY или TEMP - в вашем примере INTO TEMPORARY "#testtable", или можно сначала создать её как CREATE TEMPORARY TABLE "#testtable" ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.10.2019, 11:50
|
|||
---|---|---|---|
|
|||
Временная таблица с последующим использованием |
|||
#18+
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 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=53&mobile=1&tid=1995003]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 144ms |
0 / 0 |