У меня есть таблица, items
, со столбцом priority
, который является просто целым числом. Пытаясь выполнить некоторые массовые операции, я пытаюсь установить priority
в последовательное число.
Я смог использовать ROW_NUMBER()
, чтобы успешно сгенерировать таблицу с новыми значениями priority
, которые я хочу. Теперь мне просто нужно получить значения из этого запроса SELECT
в соответствующие записи в фактической таблице items
.
Я пробовал что-то вроде этого:
UPDATE
"items"
SET
"priority" = tempTable.newPriority
FROM
(
SELECT
ROW_NUMBER() OVER (
ORDER BY
/* pile of sort conditions here */
) AS "newPriority"
FROM
"items"
) AS tempTable
WHERE
"items"."id" = "tempTable"."id"
;
Я получаю синтаксическую ошибку "около FROM".
Как я могу исправить синтаксис здесь?