sql - 根据 Postgresql 中的连接设置其他表的值?

标签 sql postgresql join

这是一个非常简单的问题,抱歉,但我不知道我做错了什么。我想根据连接将表 X 中的值添加到表 A。我的 SQL 命令很简单(并在此处的几篇文章中进行了讨论):

UPDATE tableA SET n = x.numpts 
FROM tableA AS a, tableX AS x WHERE a.id = x.id;

在我看来,这应该将 numpts 的值添加到 tableA 中的 n 列,其中 tableA 的 id > 等于 tableX 中的 id。该命令运行,但它会将 column n 中的所有值都设置为 1。可能重要的是要知道 tableX 的行数少于 tableA。我做错了什么?

但是,当我执行 SELECT 查询而不是 UPDATE 时,我得到了正确匹配的结果...

最佳答案

UPDATE tableA SET n = x.numpts 
FROM tableX AS x WHERE tableA.id = x.id;

关于sql - 根据 Postgresql 中的连接设置其他表的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43830911/

相关文章:

mysql - ORDER BY 子句不适用于 UNION ALL

c++ - 如何将 C++ 编译的 dll 函数挂接到 sql 数据库?

sql - 从单个表中两次选择同一列但条件不同

sql - PostgreSQL - 在多列上创建索引时 Smallint 溢出。这是一个错误吗?

postgresql - 如何在 PostgreSQL 的函数内传递变量

sql - 如何使用 mySQL SELECT IF 语句行来连接另一个表?

mysql - MySQL 查询中的 LEN() of %

r - 如何在没有 `dplyr` 的情况下将数据附加到 `collect()` 的 PostgreSQL 表?

mysql - 如何编写 MySQL 查询

mysql - 将 MySQL NOT EXISTS 转换为 INNER JOIN