Sql server SQL Server将随机数据从一个表复制到另一个表

Sql server SQL Server将随机数据从一个表复制到另一个表,sql-server,random,copy,newid,Sql Server,Random,Copy,Newid,我有两张表stuff和Dussing废话与东西大小不同;在本例中,它的行数较少,但它可能有更多行 结构是这样的: CREATE TABLE stuff ( id INT PRIMARY KEY, details VARCHAR(MAX), data VARCHAR(MAX) ); CREATE TABLE nonsense ( id INT PRIMARY KEY, data VARCHAR(MAX) ); stuff表中已经填充了详细信息,但是数据目

我有两张表
stuff
Dussing
<代码>废话与
东西
大小不同;在本例中,它的行数较少,但它可能有更多行

结构是这样的:

CREATE TABLE stuff (
    id INT PRIMARY KEY,
    details VARCHAR(MAX),
    data VARCHAR(MAX)
);

CREATE TABLE nonsense (
    id INT PRIMARY KEY,
    data VARCHAR(MAX)
);
stuff
表中已经填充了
详细信息
,但是
数据
目前为

我想将数据从一行
垃圾中随机复制到每一行
垃圾中。由于
无意义
较小,因此自然会有重复项,这是正常的

这不起作用:

假设子查询在查询的其余部分之前计算一次。然而,这是我想要的结果


如何实现这一点?

您需要关联子查询,以便为每条记录运行它

UPDATE stuff
SET data=(SELECT TOP 1 data 
          FROM nonsense 
          where stuff.id = stuff.id  --here
          ORDER BY NewId());

这不起作用,您的意思是为数据列中的所有记录更新相同的值?@Manngo-where子句使子查询针对每一行执行
UPDATE stuff
SET data=(SELECT TOP 1 data 
          FROM nonsense 
          where stuff.id = stuff.id  --here
          ORDER BY NewId());