DB2 将一列值复制到另一列

Posted

技术标签:

【中文标题】DB2 将一列值复制到另一列【英文标题】:DB2 Copy one column values to another column 【发布时间】:2021-02-04 21:45:58 【问题描述】:

在 DB2 中,我有 2 个表 - TableA 和 TableB。 在表 A 中,有 10 行。在表 B 中,有 12 行。 表 A 有一个名为 IntValueA 的列,其类型为 Integer。 表 B 有一个名为 IntValueB 的列,类型为 Integer。

我希望 TableA 的 IntValueA 替换任何 10 个 TableB 的 IntValueB 值,这样,TableA 和 TableB 将有 10 个共同值,其中 IntValueA=IntValueB。

IntValueA 可以替换任何 IntValueB。没有条件。

有人可以帮我看看 DB2 查询应该是什么样子吗?

【问题讨论】:

更新这么多行会很慢。您确定需要这样做吗? 是的。我需要这样做。 tableA 和 tableB 有什么关系? KEYA = KEYB吗?换句话说,对于 tableA 中的给定行,你怎么知道 tableB 中的哪一行来拉 IntValueB? 两个表之间没有共同的值。我想用表 A 中的 10 个键替换表 B 中 10 个键的任何值。 【参考方案1】:

试试这个。

UPDATE 
(SELECT IntValueB, ROWNUMBER() OVER() RN_ FROM TableB) B
SET IntValueB = 
(
SELECT IntValueA 
FROM (SELECT IntValueA, ROWNUMBER() OVER() RN_ FROM TableA) A
WHERE A.RN_ = B.RN_
)
WHERE RN_ <= 10;

【讨论】:

以上是关于DB2 将一列值复制到另一列的主要内容,如果未能解决你的问题,请参考以下文章

如何将一列的列值组合到 MySQL 中的另一列中?

在同一个表中将值从一列复制到另一列

在jQuery中将一列的内容复制到另一列

SQL根据条件将值从一列复制到另一列

SQL - 将数据从同一表中的一列复制到另一列

如何在同一个表中将数据从一列复制到另一列?