在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重复的记录

posted @ 2004-10-27 11:59  D10.天地弦  阅读(785)  评论(0编辑  收藏  举报