簡體   English   中英

SQL Server將隨機數據從一個表復制到另一個表

[英]SQL Server Copy Random data from one table to another

我有2張桌子的stuffnonsense nonsensestuff大小不等; 在這種情況下,它具有較少的行,但可能具有更多的行。

結構是這樣的:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM