繁体   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