[英]SQL Server Copy Random data from one table to another
我有2張桌子的stuff
, nonsense
。 nonsense
與stuff
大小不等; 在這種情況下,它具有較少的行,但可能具有更多的行。
結構是這樣的:
CREATE TABLE stuff (
id INT PRIMARY KEY,
details VARCHAR(MAX),
data VARCHAR(MAX)
);
CREATE TABLE nonsense (
id INT PRIMARY KEY,
data VARCHAR(MAX)
);
stuff
表已經填充了details
,但是data
現在為NULL
。
我想將數據從一個行復制nonsense
隨機到的每一行stuff
。 由於nonsense
較小,自然會有重復,這是可以的。
這不起作用 :
UPDATE stuff
SET data=(SELECT TOP 1 data FROM nonsense ORDER BY NewId());
大概子查詢在其余查詢之前被評估一次。 但是,那是我想要的結果。
我該如何實現?
您需要關聯子查詢才能為每個記錄運行它。
UPDATE stuff
SET data=(SELECT TOP 1 data
FROM nonsense
where stuff.id = stuff.id --here
ORDER BY NewId());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.