sql - DB2 将一列值复制到另一列
问题描述
在 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 查询应该是什么样子吗?
解决方案
尝试这个。
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;