[英]Copy data from one row to another in SQL Server in the same table
我有一个包含两种数据变体的表:
表MYDATA
Address StreetNumber Provider
----------------------------------------------
123 Main Street 1 VersionA
123 Main Street NULL VersionB
我想将版本 A 的 StreetNumber 更新为版本 B。
将有数千条记录,匹配将在地址列上
我想用:
update MYDATA
set StreetNumber = (select top 1 streetnumber
from MYDATA Goo
where Goo.Address = Address and Provider = 'VersionA')
where Provider = 'VersionB'
但似乎嵌套没有查看要更新的行......而是选择一条记录并更新具有相同街道编号的所有记录?
这应该工作:
UPDATE MDb
SET StreetNumber = MDa.StreetNumber
FROM MYDATA MDb
JOIN MYDATA MDa ON MDb.[Address] = MDa.[Address]
WHERE MDb.Provider = 'VersionB'
AND MDa.Provider = 'VersionA'; --You can move this clause to the ON if you prefer
遇到类似的问题。 在同一列下和同一表内将数据从一行复制到另一行。 也许这会有所帮助。
UPDATE MyData
SET StreetNumber = newdata.StreetNumber
FROM (
SELECT Password FROM [MyDB].[dbo].[MyData]
WHERE Provider = VersionA
)newdata
WHERE Provider = VersionB
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.