Kayıtlar

Eylül, 2012 tarihine ait yayınlar gösteriliyor

Sql mükerrer kayıtları silmek

Resim
Sql Server’da bir tablodaki tekrar eden kayıtları nasıl silebiliriz ? L_User  isminde bir tablo oluşturup tabloya bir kaç kayıt girelim. CREATE   TABLE  [dbo].[L_User] (       [ColumnId] [ int ] IDENTITY (1, 1)  NOT   NULL  ,       [UserName] [ char ] (10)  NULL  ,       [UserPwd] [ char ] (10)  NULL    )  ON  [ PRIMARY ]   Böyle bir örnekte kesin ve doğru bir query şekli olmadığı için kişilere bağlı olarak farklı yöntemler kullanılabilir. while ile döngü kurma, cursor kullanmak, temporary table oluşturmak gibi yöntemler tercih edilebilir. Burada bunlardan bir iki tanesine örnek vereceğim. Bu yöntemlerden en kolayı, identity columndan yararlanmaktır.  Tekrar eden kayıtları gruplayıp en küçük veya en büyük ID’lerini alıp  diğerlerini sileceğiz. DELETE   FROM  L_User  WHERE   NOT  ColumnId  IN  (        SELECT   MIN (ColumnId)  FROM  L_User        GROUP   BY  UserName,UserPwd   )   Bu yönteme benzer olarak  tabloyu kendisiyle JOIN  edip eş kayıtları bulacağ