0
表A只有一个字段。 表B有很多领域。如何将一个表中的值插入另一个表中,而无需内部连接它们的值?
我想将表A中的每个值复制到表B上的一行,但我没有值加入这两个表。
不要紧哪一行A中的B每一个值进入,只要在表A的每个值仅在表B.
出现一次我不想使用循环。
表A只有一个字段。 表B有很多领域。如何将一个表中的值插入另一个表中,而无需内部连接它们的值?
我想将表A中的每个值复制到表B上的一行,但我没有值加入这两个表。
不要紧哪一行A中的B每一个值进入,只要在表A的每个值仅在表B.
出现一次我不想使用循环。
你可以连续数分配到两个表,然后做一个更新联接:
WITH cte1 AS (
SELECT col, ROW_NUMBER() OVER (ORDER BY col) rn
FROM TableA
),
WITH cte2 AS (
SELECT *,
ROW_NUMBER() OVER (ORDER BY some_col) rn
FROM TableB
)
UPDATE t2
SET col = t1.col
FROM cte2 t2
INNER JOIN cte1 t1
ON t1.rn = t2.rn
该解决方案做了几个假设,包括TableB
已有的数据来一个目标列col
从第一个TableA
表的单列中,并且两个表中的类型都匹配。它还假定TableB
的行数多于TableA
,以适合TableB
的数据。否则,数据将会丢失。
请提供样品数据 –
您需要有一些行ID。否则,当你运行脚本两次时,它会插入重复的值。 –
A.FKID(INT) B.PKID(INT),B.FKID(INT) 我想将A.FKID复制到B.FKID中。 这两张表都没有提及另一张。 这两个表都是临时的(数据将用于更新表C然后丢弃) – Kirk