【发布时间】:2019-05-06 12:30:39
【问题描述】:
我有一个表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”的语法错误。
我怎样才能更正这里的语法?
【问题讨论】:
-
这在 SQLite 中很难做到。