Size: a a a

pgsql – PostgreSQL

2021 July 01

R

Rashka in pgsql – PostgreSQL
В кто может подсказать, как написать select данных, которые посчитает количество записей, при этом, чтобы в другой таблице по внешнему к ключу данной таблице было строго 39 либо больше записей, думал так но нет

Select count(a), from a inner join b on b.a_id = a.id where count(b.a_id) > 38;
источник

Ю

Юрий Шапоренко... in pgsql – PostgreSQL
А должна обновиться только одна?
источник

Ю

Юрий Шапоренко... in pgsql – PostgreSQL
select a.id, count(a)
from a
where exists (select 1 from b where b.a_id = a.id)
group by a.id
having count(b.a_id) > 38;
источник

SM

Serj Marin in pgsql – PostgreSQL
получается вложенный select получает все строки, которые надо обновить во внешней таблице
но сами таблицы разные по структуре, есть только несколько похожих столбцов.
В фунции делаю, время смотрел через clock_timestamp(), несколько мс на замену уходит и это при очень маленько табличке
источник

AK

Anton Kazachkov in pgsql – PostgreSQL
select cnt from (
   select count(distinct a.id) cnt, count(b.id) cnt_b from a join b on a.id=b.a_id
) flt where cnt_b >38;
источник

Ю

Юрий Шапоренко... in pgsql – PostgreSQL
Я все еще не совсем понимаю, какого результата вы хотите добиться, если честно, но предположу, что вам нужно что-то подобное:

with cte as (
select
t.id,
t.status_id
from tickets t
join temp ts on ts.id = t.id
)

update temp ts
set status_id = c.status_id
from cte c
where c.id = ts.id


Где в куске
join temp ts on ts.id = t.id
будут отсеиваться только те поля, которые вам нужно обновить
источник

R

Rashka in pgsql – PostgreSQL
missing FROM-clause entry b
источник

Ю

Юрий Шапоренко... in pgsql – PostgreSQL
А, пардон, не заметил, что вы из b количество считаете. В таком случае вам Антон выше скинул решение
источник

SM

Serj Marin in pgsql – PostgreSQL
у меня id разные, есть три столбца, в одной и в другой таблице, по ним и обновляю.
Скажем так, есть небольшая табличка она содержит готовый перечень, их и ищу через Update.
Sql внутри это делает по сути в цикле, но в одном запросе, получается чуть быстрее, но не на много
источник

C

Che in pgsql – PostgreSQL
Не могу найти, редкий случай
Создаю таблицу с констрейн exclude using gist и там несколько параметров. Можно ли как то имя создаваемого констрейна явно указать? А то из за длинных названий составное имя не влезает и создаётся с обрезанным именем, а я его хочу сейчас чуток подправить и соответственно пересоздать, это будет делать миграция.
источник

ГР

Геннадий Романов... in pgsql – PostgreSQL
Если в таблицу A (id, date1, date2, date3) сохраняются данные (id, date1, date2) а date3 потом пересчитывается по date1 и date2
для всех данных это тригер, функция или процедура нужна? 🤔
источник

ГР

Геннадий Романов... in pgsql – PostgreSQL
или нужно разделить данные на 2 таблицы?
источник

СК

Сергей Кравчук... in pgsql – PostgreSQL
если date3 считается из date1 и date2...
зачем хранить date3 ?
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Просто пример:
ALTER TABLE order_bt ADD CONSTRAINT "order_id_sys_period_app_period_excl" EXCLUDE USING gist (id WITH =, sys_period WITH &&, app_period WITH &&);

Или Вам нужно именно в CREATE TABLE?
источник

C

Che in pgsql – PostgreSQL
Да в create table желательно, но пофиг могу вынести с отдельную инструкцию при создании новой БД
источник

C

Che in pgsql – PostgreSQL
Спасибки
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
CREATE TABLE order_bt_test (
id integer NOT NULL,
app_period tstzrange NOT NULL,
sys_period tstzrange NOT NULL,
CONSTRAINT "hello_world" EXCLUDE USING gist (id WITH =, sys_period WITH &&, app_period WITH &&)
);

WFM.
источник

ГР

Геннадий Романов... in pgsql – PostgreSQL
пардон date3 переесчитывается из старого значения date3 с учетом date1,date2
источник

СК

Сергей Кравчук... in pgsql – PostgreSQL
эээ ?
то есть при обновлении date1 или date2, оно обновляется ?
так зачем мудрить
где-то в коде считайте новое значение да записывайте точно так же как остальные поля)

имхо, пытаясь вынести перерасчеты на сторону базы, вы только добавите лишнюю сложность )
источник

R

Roman in pgsql – PostgreSQL
Привет, подскажите как через pgadmin с  дампа создать базу ?
источник