Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL选择顶部和随机填充_Sql_Sql Server - Fatal编程技术网

SQL选择顶部和随机填充

SQL选择顶部和随机填充,sql,sql-server,Sql,Sql Server,我想从表a的g列中选择并将前4650个字段插入表b的e列。如何用表a列g中的数据随机填充此列?如何替换列e中已经存在的数据?在多个部分中这样做会更容易吗?如果这只是针对单个列,那么这应该适合您 insert into tableB (columnE) select top(4650) columnG from tableA 如果表之间存在关系,那么您可以这样做 Update x set columnE = y.columnG from tableB as x inner join (sele

我想从表a的g列中选择并将前4650个字段插入表b的e列。如何用表a列g中的数据随机填充此列?如何替换列e中已经存在的数据?在多个部分中这样做会更容易吗?

如果这只是针对单个列,那么这应该适合您

insert into tableB (columnE)
select top(4650) columnG from tableA
如果表之间存在关系,那么您可以这样做

Update x
set columnE = y.columnG 
from tableB as x
inner join (select top(4650) ID from tableA) as y
on x.ID = y.ID
您也可以使用CTE

;with as 
(
   select top (4650) id,ColumnG 
   from TableA
) Y

update X
set columnE = Y.ColumnG
from TableB as X
inner join Y on x.ID = y.ID

我们需要表的结构来完全回答您的问题

这个答案假设两件事:A您的产品表有一个不间断的自动递增Id列,我的意思是没有删除的行会导致int跳跃,b您的订单有一个int PK Id列

DECLARE @MaxProductId int
SELECT @MaxProductId = MAX(Id) FROM Product

SELECT p.Description, o.Id
FROM Product p
JOIN Order o
    ON p.Id = o.Id % @MaxProductId

这会随意将产品加入订单。如果您喜欢看到的内容,可以将p列更改为g列的任何内容。然后,您可以使用UPDATE和此select在订单Id上加入。

实际上,我的做法完全不同。我做了一个临时表,有两个字段,Temp1,Temp2。我把所有的产品都放到Temp1中,然后使用了两个不同的更新。一个用于向Temp2添加随机数字,另一个用于将我的TableToUpdate更改为这些临时数字。这样,我可以对其他表执行此操作,数据看起来不同,但保持销售预测结构

更新诱惑 设置[Temp2]=abschecksumNewId%5000+10000

更新表格更新 设置产品=选择Temp2 从诱惑 其中TableToUpdate.Product=tentable.Temp1


谢谢大家的意见。

1您使用什么数据库?2您希望随机填写值还是希望根据某些标准填写顶部字段?两个表之间是否存在任何关系?首先删除表b中的所有值。然后尝试插入表a colg中的值。我使用的是sql数据库。我想从表a中随机填写这些值。我的问题是我有4650种产品和超过6万份订单。我试图制作一些虚假数据,希望这些产品随机填充该字段。@David您是否需要所有60k订单具有随机分配的产品id,还是只需要4650个订单具有随机、不同的产品id?