Ух, какие имена.
Проблема в том, что вы назвали CTE так же, как таблица (я полагаю), и таблица «затеняет» CTE.Вы получаете сообщение об ошибке, потому что в таблице return_skdjrltdorgoffcrtrstkyempl
нет столбца с именем grouprank
.
. Вам нужно будет выбрать другое имя для CTE и объединить его с таблицей в UPDATE
.утверждение (используя UPDATE ... FROM
):
WITH shortname AS (...)
UPDATE ctetable
SET ...
FROM shortname
WHERE shortname.id = ctetable.id;
Однако мой совет будет , а не , чтобы сохранить эту информацию в базе данных.Разве информация не станет недействительной, если данные таблицы изменятся?Рассчитайте его по данным таблицы, когда вам это нужно.