Size: a a a

pgsql – PostgreSQL

2020 July 11

Е

Елена in pgsql – PostgreSQL
Добрый день всем! Посоветуйте, пожалуйста, как лучше сделать.

Я пишу отчет по таблице, куда ежедневно заносится куча данных о звонках.
По данным таблицы нужно формировать ещё много вычислимый полей, часть скрипта: http://prntscr.com/tfh6z9 Потом нужно будет джойнить ещё много таблиц.
Я хотела бы вынести формирование полей и часть джойнов "на уровень выше".
Что лучше подойдёт в плане производительности - создать view или локальную таблицу в скрипте?
источник

Ð

Ð in pgsql – PostgreSQL
Елена
Добрый день всем! Посоветуйте, пожалуйста, как лучше сделать.

Я пишу отчет по таблице, куда ежедневно заносится куча данных о звонках.
По данным таблицы нужно формировать ещё много вычислимый полей, часть скрипта: http://prntscr.com/tfh6z9 Потом нужно будет джойнить ещё много таблиц.
Я хотела бы вынести формирование полей и часть джойнов "на уровень выше".
Что лучше подойдёт в плане производительности - создать view или локальную таблицу в скрипте?
обычно в таких случаях на клиенте делают кэшируемые словари
источник

Е

Елена in pgsql – PostgreSQL
Ð
обычно в таких случаях на клиенте делают кэшируемые словари
У нас нет на клиенте обработки данных. Все данные собираются на сервере.
источник

Ð

Ð in pgsql – PostgreSQL
тогда наверное нет смысла избавляться от части джойнов
источник

2_

2flower _ in pgsql – PostgreSQL
вообще странный запрос, я чую много null'ов.
источник

2_

2flower _ in pgsql – PostgreSQL
зачем поля русскими буквами называть?
источник

Е

Елена in pgsql – PostgreSQL
2flower _
зачем поля русскими буквами называть?
Это сбор данных (массив объектов) для плагина, который на клиенте pivot строит.
источник

IB

Ilya Belan in pgsql – PostgreSQL
2flower _
null тоже боль
тех лид не одобрит. Тоже это чувствую)
источник

Е

Елена in pgsql – PostgreSQL
Тех лид так и пишет) Я хочу сделать всё это менее болезненно и попроще, ибо тут скрипты отчетов километровые))
источник

2_

2flower _ in pgsql – PostgreSQL
Елена
Это сбор данных (массив объектов) для плагина, который на клиенте pivot строит.
у вас везде case с одним условием без else это потенциально куча нулов и головняк на ровном месте.
источник

2_

2flower _ in pgsql – PostgreSQL
большой запрос если его боитесь, cte в вашем распоряжении используйте.
источник

Е

Елена in pgsql – PostgreSQL
2flower _
у вас везде case с одним условием без else это потенциально куча нулов и головняк на ровном месте.
Кейсы проверяют состояние gереключателей (switch) и если он отмечен, т.е. 1, то из таблицы берутся те или иные данные.
источник

2_

2flower _ in pgsql – PostgreSQL
Елена
Кейсы проверяют состояние gереключателей (switch) и если он отмечен, т.е. 1, то из таблицы берутся те или иные данные.
а если нет,то null
источник

Е

Елена in pgsql – PostgreSQL
Всё это выглядит на клиенте так: http://prntscr.com/tfukyg
источник

2_

2flower _ in pgsql – PostgreSQL
а потом где нибудь в фильтре километрового запроса вылезет null при сравнении без is null и отличный вечер за дебагом гарантирован.
источник

SB

S B in pgsql – PostgreSQL
Ilya Belan
Добрый день! Нуждаюсь в совете.

Условие: в таблице есть колонка flag BOOLEAN.
Задача: сделать проверку, что во всей таблице существует только один кортеж со значением TRUE в колонке flag.

CHECK CONSTRAINT не поддерживает агрегационные функции и запросы в теле условия. Не хватает знаний, чтоб составить такое условие.
create unique index on tbl ((1)) where flag;
источник

Е

Елена in pgsql – PostgreSQL
2flower _
а потом где нибудь в фильтре километрового запроса вылезет null при сравнении без is null и отличный вечер за дебагом гарантирован.
Это всё ниже проверяется)
источник

Е

Елена in pgsql – PostgreSQL
2flower _
большой запрос если его боитесь, cte в вашем распоряжении используйте.
Спасибо, пойду про cte почитаю, тут они не используются нигде, только вью и локальные таблицы.
источник

SV

Sergey Vats in pgsql – PostgreSQL
Всем привет, есть такая квери
 UPDATE
       goods
     SET
       "actual" = "actual" - '${amount}'
     WHERE
       id = '${id}'

Как ее проапдейтить чтобы если actual, после операции -, равно отрицательному числу, отменять операцию или возможно можно еще как-то это сделать, потому что не хочется делать два запроса и подсчитывать это кодом
источник

М

Максим in pgsql – PostgreSQL
Sergey Vats
Всем привет, есть такая квери
 UPDATE
       goods
     SET
       "actual" = "actual" - '${amount}'
     WHERE
       id = '${id}'

Как ее проапдейтить чтобы если actual, после операции -, равно отрицательному числу, отменять операцию или возможно можно еще как-то это сделать, потому что не хочется делать два запроса и подсчитывать это кодом
where
"actual" - '${amount}' > 0

?
источник