mercredi 10 juin 2009

Contrôle de doublons (M$ SQL)

Dans une base de données, il est possible de se retrouver avec plusieurs fois les mêmes données (qu'il s'agisse d'une erreur ou non)

Dans le cas que j'ai rencontré, nous n'arrivions pas à saisir une valeur, avec une contrainte sur 2 clefs :
TableTest
  • Champ1 -> Clef
  • Champ2 -> Clef
  • Champ3
  • Champ4

Pour contrôler où se trouvent les doublons, la requête à effectuer est :

SELECT COUNT(*), Champ1, Champ2
FROM TableTest
GROUP BY Champ1, Champ2
HAVING COUNT(*) > 1

Ce qui nous rendra comme résultat la liste des doublons.