尝试这样做:
UPDATE table1 t1
SET cost = t2.price
FROM table2 t2
WHERE t1.item_id = t2.item_id
它可以在 PostgreSQL 上运行,但不能在 HSQLDB 上运行。
如何修复此脚本以支持在 PostgreSQL 和 HSQLDB 上工作?
最佳答案
UPDATE ... FROM
语法是非标准的。这是标准 SQL,适用于 HSQLDB(显然适用于 PostgreSQL)。我真的很惊讶 PostgreSQL 9.4 语法文档没有提到自 1992 年以来一直在标准中的这种语法。
UPDATE table1 t1
SET cost = (SELCT t2.price
FROM table2 t2
WHERE t1.item_id = t2.item_id)
关于sql - HSQLDB 从另一个表的字段更新一个表的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31406889/