Menu

Créer une table avec les doublons d'une autre [Fermé]

angeblanc22 31 Messages postés mardi 31 mai 2005Date d'inscription 27 janvier 2009 Dernière intervention - 27 janv. 2009 à 11:14 - Dernière réponse : angeblanc22 31 Messages postés mardi 31 mai 2005Date d'inscription 27 janvier 2009 Dernière intervention
- 27 janv. 2009 à 13:50
Bonjour,
Je suis actuellement sur SQL Server Enterprise Manager, et je dois créer une table qui permet de séparer les doublons d'une autre (clients) sachant qu'il faut garder les clients qui ont encore des factures.
Tout d'abord, j'ai affiché la liste des doublons :
SELECT COUNT(*) AS NBR_DOUBLES, CUS_Name, CUS_SurName, CUS_Company
                                          FROM  Customers
                                          GROUP BY CUS_Name, CUS_SurName, CUS_Company
                                          HAVING (COUNT(*) > 1);

Mais ensuite j'ai voulu créer la table CUS_Doublons avec ça :
CREATE TABLE CUS_Doublons AS (SELECT COUNT(*) AS NBR_DOUBLES, CUS_Name, CUS_SurName, CUS_Company
             FROM          dbo.Customers
             GROUP BY CUS_Name, CUS_SurName, CUS_Company
             HAVING      (COUNT(*) > 1));


Mais ça ne marche pas, il me dit que c'est le AS.

Pourriez-vous m'aider s'il vous plait ? Il faut que je fasse ça aujourd'hui.

Je vous remercie d'avance,

AngeBlanc22
Afficher la suite 

2 réponses

DarkRodWarrior 1766 Messages postés vendredi 2 mars 2007Date d'inscription 15 avril 2010 Dernière intervention - 27 janv. 2009 à 11:16
0
Merci
Une fonction compare ?

"SA" = "SA"
If (delete)

Tu vois ce que veux dire ? ;)
angeblanc22 31 Messages postés mardi 31 mai 2005Date d'inscription 27 janvier 2009 Dernière intervention - 27 janv. 2009 à 13:50
Re bonjour

Merci de m'avoir répondu aussi rapidement,
le AS sert donc à comparer ? (remarque c'est logique en même temps)

Bref, vu que la connexion internet était déconnectée, je me suis débrouillée et j'ai trouvé un moyen de mettre les doublons dans une table, mais une table temporaire apparemment :
SELECT COUNT(*) AS NBR_DOUBLE, CUS_Name, CUS_SurName, CUS_Company
                       INTO CUS_Doublons_tmp
                       FROM Customers
                       GROUP BY CUS_Name, CUS_SurName, CUS_Company
                       HAVING (COUNT(*)>1)

Ce code fonctionne, il m'a créé la table avec le nom, prénom, l'entreprise et le nombre de fois que le client est doublé. Mais ce n'est pas encore ce que je veux. Il y a aussi les doublons avec les noms et adresse, mais si je mets CUS_Adress en plus, il me compte moins de doublons. En effet, du coup il prend en compte vraiment le nom+prénom+company+adresse.
Comment dois-je m'y prendre du coup ?
Sachant que le tout est de fusionner et supprimer les doublons dans la table Customers en n'oubliant pas qu'il y en a qui ont des factures en cours !

Je ne sais pas si je suis claire, dans ce que je cherche...

Merci

Angeblanc22