![](/img/trans.png)
[英]How can I use values from one database to insert them into a table in another database?
[英]How do I insert values from one table into another without a value to inner join them?
表A具有單個字段。 表B有許多字段。
我想將每個值從表A復制到表B的一行,但是我沒有將兩個表連接在一起的值。
只要表A中的每個值在表B中僅出現一次,B中的每個值都進入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
已經具有用於來自第一個TableA
表的單個列的數據的目標列col
,並且兩個表中的類型均匹配。 它還假設TableB
行比TableA
以適合TableB
的數據。 否則,數據將丟失。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.