Size: a a a

pgsql – PostgreSQL

2021 July 01

🌌[

🌌El.Randir/42ᅠ [AD]... in pgsql – PostgreSQL
А, апдейт, хм...
ну, я бы сделал через вложенный запрос, но это ресурсо затратно
источник

DG

Denis Girko ☕️ in pgsql – PostgreSQL
UPDATE tableA SET date1 = greatest(date1, date2) FROM tableB WHERE tableA.id = tableB.id
источник

ГР

Геннадий Романов... in pgsql – PostgreSQL
а тут
FROM как left join или inner join?
источник

V

Valery in pgsql – PostgreSQL
Pg pro?
источник

DG

Denis Girko ☕️ in pgsql – PostgreSQL
Это INNER JOIN, а вам зачем LEFT?
источник

DG

Denis Girko ☕️ in pgsql – PostgreSQL
Нет, обычный. Что смутило?
источник

V

Valery in pgsql – PostgreSQL
Документация, уже увидел что все нормально
источник

ГР

Геннадий Романов... in pgsql – PostgreSQL
действительно в этом случае сравнивать не с чем,
спасибо
источник

ГР

Геннадий Романов... in pgsql – PostgreSQL
а как прикрутить обновление только измененных

UPDATE tableA SET date1 = greatest(date1, date2) FROM tableB WHERE tableA.id = tableB.id
RETURNING чего-то там...

кстати что делать в случае если все-таки нужно изменять тех которых нет во второй таблице? куда left join пихать?
источник

КБ

Костя Богомолов... in pgsql – PostgreSQL
Динамически:)
источник

ГР

Геннадий Романов... in pgsql – PostgreSQL
через RETURNING чего-то там...
нельзя?
источник

КБ

Костя Богомолов... in pgsql – PostgreSQL
Наверное я не так Вас понял..Вам нужно возвращать только те поля что изменились?
источник

V

Valery in pgsql – PostgreSQL
А на что вы хотите менять те данные, для которых нет обновлений?
источник

ГР

Геннадий Романов... in pgsql – PostgreSQL
оставить прежними
источник

КБ

Костя Богомолов... in pgsql – PostgreSQL
Возможно через тригер с конструкцией coalesce(nullif(new.column1,old.column1),old.column1)
источник

КБ

Костя Богомолов... in pgsql – PostgreSQL
Но решение так себе:)
источник

ГР

Геннадий Романов... in pgsql – PostgreSQL
coalesce выберет old.column а дальше?
источник

КБ

Костя Богомолов... in pgsql – PostgreSQL
Если новое значение такое же как и старое то первый аргумент на coalesce будет null
источник

КБ

Костя Богомолов... in pgsql – PostgreSQL
Но думаю что это плохой совет:)
источник

ГР

Геннадий Романов... in pgsql – PostgreSQL
естественно coalesce выберет второе
источник