sql - HSQLDB 从另一个表的字段更新一个表的字段

标签 sql postgresql join hsqldb

尝试这样做:

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/

相关文章:

java - 在 Java/MyBATIS 中插入重复行时检测

mysql - 如何在整个数据库中更改 CHARACTER SET(和 COLLATION)?

sql - 在 POSTGRESQL 中按名称访问列

postgresql - Logstash内存不足,读取Postgres大表

sql - 如何从 SQL 中获取以下股票信息?

mysql - 创建一个查询以获得两个相同的结果

java - 如何将数据库中的数据放入Arraylist中?

mysql - 如何在 Excel 中自动执行 SQL 脚本

MySQL:加入联合表

MySQL - 添加 WHERE 子句时 LEFT JOIN 失败