[英]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.