Sql 如何删除重复项并更新“一对多”相关表?
我已经搜索过了,也许我问的问题不对 我继承了一个令人讨厌的数据库,并试图将其正常化。 我把一张桌子分成两张:业主和建筑物 现在我有两张一对一的桌子 我知道如何删除所有者表中的重复记录,但不知道如何更新一对多相关表 我有一个桌子所有者和一个桌子所有者一对多 所有者表架构:Sql 如何删除重复项并更新“一对多”相关表?,sql,tsql,Sql,Tsql,我已经搜索过了,也许我问的问题不对 我继承了一个令人讨厌的数据库,并试图将其正常化。 我把一张桌子分成两张:业主和建筑物 现在我有两张一对一的桌子 我知道如何删除所有者表中的重复记录,但不知道如何更新一对多相关表 我有一个桌子所有者和一个桌子所有者一对多 所有者表架构: CREATE TABLE [dbo].[tbl_BuildingOwners] ( [OwnerID] [int] IDENTITY(1,1) NOT NULL, [OwnerName] [nvarcha
CREATE TABLE
[dbo].[tbl_BuildingOwners]
(
[OwnerID] [int] IDENTITY(1,1) NOT NULL,
[OwnerName] [nvarchar](255) NULL,
[OwnerAddress1] [nvarchar](255) NULL,
[OwnerAddress2] [nvarchar](255) NULL,
[OwnerAddress3] [nvarchar](255) NULL,
[OwnerCity] [nvarchar](255) NULL,
[OwnerState] [nvarchar](255) NULL,
[OwnerZip] [float] NULL,
[OwnerZipExt] [float] NULL,
[OwnerPhone] [nvarchar](255) NULL,
[OwnerFax] [nvarchar](255) NULL
)
CREATE TABLE
[dbo].[BuildingOwnerID]
(
[OwnerRelationshipID] [int] IDENTITY(1,1) NOT NULL,
[OwnerID] [int] NOT NULL,
[FileNumber] [nvarchar](255) NOT NULL
)
Ownersone到Buildingsmany关系表架构:
CREATE TABLE
[dbo].[tbl_BuildingOwners]
(
[OwnerID] [int] IDENTITY(1,1) NOT NULL,
[OwnerName] [nvarchar](255) NULL,
[OwnerAddress1] [nvarchar](255) NULL,
[OwnerAddress2] [nvarchar](255) NULL,
[OwnerAddress3] [nvarchar](255) NULL,
[OwnerCity] [nvarchar](255) NULL,
[OwnerState] [nvarchar](255) NULL,
[OwnerZip] [float] NULL,
[OwnerZipExt] [float] NULL,
[OwnerPhone] [nvarchar](255) NULL,
[OwnerFax] [nvarchar](255) NULL
)
CREATE TABLE
[dbo].[BuildingOwnerID]
(
[OwnerRelationshipID] [int] IDENTITY(1,1) NOT NULL,
[OwnerID] [int] NOT NULL,
[FileNumber] [nvarchar](255) NOT NULL
)
我需要删除BuildingOwners表中的重复项,并将BuildingOwnerID表中的OwnerID更新为BuildingOwners表中保留的不同OwnerID
我希望这是有道理的
但不能让它为我工作。最后,我可以使用SQL Server或MS Access,这两种方法都更简单。要删除重复项,您可以使用下面的查询示例查询删除重复的状态项[按国家和州重复]
WITH dupDel
AS ( SELECT ROW_NUMBER() OVER ( PARTITION BY country, STATE ORDER BY country ) AS RowNum
FROM tblTest
)
DELETE FROM dupDel
WHERE RowNum > 1
@Diana现在您需要修改哪个ID。。。还是更新。。。?