Sql 更新多个记录以使其他记录相等
我有一个具有一对多关系的大型数据库。它适用于许多不同站点的计算机系统。对于每个计算机系统,需要为自动消息设置不同的电子邮件地址,这些地址存储在数据库中。对于许多这样的计算机,我需要使两个或更多的记录相同。我想写一个查询(在SQLServer2005中),它允许我一次更新/复制所有记录 例如:Sql 更新多个记录以使其他记录相等,sql,sql-server-2005,sql-update,Sql,Sql Server 2005,Sql Update,我有一个具有一对多关系的大型数据库。它适用于许多不同站点的计算机系统。对于每个计算机系统,需要为自动消息设置不同的电子邮件地址,这些地址存储在数据库中。对于许多这样的计算机,我需要使两个或更多的记录相同。我想写一个查询(在SQLServer2005中),它允许我一次更新/复制所有记录 例如: dbo.email table; system 1 emaila = x; system 1 emailb = y; system 2 emaila = z; system 2 emailb = a
dbo.email table;
system 1 emaila = x;
system 1 emailb = y;
system 2 emaila = z;
system 2 emailb = aa;
我需要system 1 emailb=system 1 emaila,我需要system 2 emailb=system 2 emailb
使用一个查询是否可以做到这一点
谢谢这是你想要的吗
with toupdate as (
select et.*,
min(email) over (partition by system) as an_email
from emailtable et
)
update toupdate
set email = an_email;
@安德里姆。这似乎是个好主意。OP只需要小心空值。我会测试并与您联系。