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;
我有一个包含 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;