sql - 如何从第一行开始更新表列的行?

标签 sql postgresql

如何使用 txt 或 csv 文件编写 SQL 查询以从第一行开始更新表列的行?

例如,在更新之前,表格可能看起来像

column_1   column_2
1          null
2          null
3          null

然后更新之后,想要的结果会是这样

column_1   column_2
1          this
2          that
3          those

我试过插入数据,但这只会将其附加到行的底部,而不是替换现有的空值。

使用相同的示例输入,此输出看起来像

column_1   column_2
1          null
2          null
3          null
null       this
null       that
null       those

最佳答案

将数据加载到表中。

然后运行一个带有joinupdate:

update original o
   set column_2 = t.column_2
   from csv_table t
   where o.column_1 = t.column_1;

不过,对于您的示例,截断原始表并将新数据复制到其中可能更有意义。

关于sql - 如何从第一行开始更新表列的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57546720/

相关文章:

mysql - 尝试执行 mysqldump 命令时出现错误 1064(42000)

MySQL - 查找具有子值的结果

mysql - 导入: separators into MySQL database的文件

SQL根据两列中的条件过滤出结果

postgresql - 使用 Play Framework Anorm,如何获取插入时自动生成的 id?

java - 从 ResultSet 读取空值

php - PHP/mysql:Insert语句无法按预期工作

postgresql - Express Postgres session 无法正常工作

postgresql - 安装 odoo 9 beta 会出现空白页面

ruby-on-rails - 将元素插入 PostgreSQL 数组而不覆盖它