SQL - 将数据从一列复制到另一列 table

SQL - Copy data from one column to another in the same table

我有一个包含 1000 多行的 table,我正在尝试将所有行的数据从一列复制到另一列。

这是我的table“发票”:

example1 example 2
A NULL
B NULL
C NULL

预期的最终结果应该是:

example1 example 2
A A
B B
C C

到目前为止我尝试了什么:

UPDATE "Invoice" 
SET "example1" = copiedData
FROM (SELECT "example2" FROM "Invoice") AS copiedData;

这会更新所有行,但问题是它不会逐行更新,而是从子查询中随机选取一行并将其应用于所有行。

当前结果的示例:

example1 example 2
A B
B B
C B

我在这里错过了什么?

谢谢。

你想要的更简单:

UPDATE "Invoice" 
    SET "example2" = "example1";

注意:强烈建议您删除双引号!不要对列名进行转义——这只会让编写和阅读代码变得更加困难。

您只需将发票 table 的 example2 列更新为 example1。

UPDATE Invoice 
SET example2 = example1;

如果您只想在 example2 列为空时更新它,那么您还需要一个 where 子句。

UPDATE Invoice 
SET example2 = example1 where example2 is null;