在MSSQL中查找出重复记录

--假如你表中只有一个关键字段。 可以用
SELECT Distinct T1.FID,T2.FCode,T2.FName FROM bbMaterialCode T1, bbMaterialCode T2
WHERE (T1.FCode=T2.FCode and T1.FName = T2.FName) AND T1.FID<>T2.FID

--可以查出bbMaterialCode中FCode和FName重复的记录


--假如你表中是组合关键字段。先建立一个临时表

IF (SELECT object_ID('tempdb.dbo.#Test'))>0 DROP TABLE #Test
CREATE TABLE #Test (
  [FID] [int] IDENTITY (1, 1) NOT NULL ,   --建立一个字段。自动编号
  [FCode] varchar(50) NULL,
  [FName] varchar(50) NULL
 ) ON [PRIMARY]

INSERT INTO #Test  --将所有插入到临时表
 SELECT FCode,FName FROM bbMaterialCode

SELECT Distinct T1.FID,T2.FCode,T2.FName FROM #Test T1,#Test T2
WHERE (T1.FCode=T2.FCode and T1.FName = T2.FName) AND T1.FID<>T2.FID
--也可以查出#Test (即bbMaterialCode)中FCode和FName重复的记录

转载于:https://www.cnblogs.com/DKSoft/articles/57172.html

你可能感兴趣的:(在MSSQL中查找出重复记录)