Recherche de doublons
elodie
-
letissya -
letissya -
Salut, J'arrête pas d'avoir des pb, j'en ai marre!
Cette fois ci, je voudrait chercher les doublons dans ma table de ma base qui est toujours sur MySQL sous windows.
Exactement, j'ai une table clients et je voudrait connaître ceux qui ont le même Telephone.
Voila ce que je fait:
SELECT Telephone FROM clients GROUP BY Telephone HAVING COUNT(Telephone)>1;
Et là, il m'affiche 2 clients mé qui ont des tel diférent:
RaisonSociale Telephone
essai 04.94.25.25.25
lbn 04.42.56.85.12
Au lieu de:
RaisonSociale Telephone
essai 04.94.25.25.25
clt 04.94.25.25.25
Merci de bien vouloir m'aider.
Cette fois ci, je voudrait chercher les doublons dans ma table de ma base qui est toujours sur MySQL sous windows.
Exactement, j'ai une table clients et je voudrait connaître ceux qui ont le même Telephone.
Voila ce que je fait:
SELECT Telephone FROM clients GROUP BY Telephone HAVING COUNT(Telephone)>1;
Et là, il m'affiche 2 clients mé qui ont des tel diférent:
RaisonSociale Telephone
essai 04.94.25.25.25
lbn 04.42.56.85.12
Au lieu de:
RaisonSociale Telephone
essai 04.94.25.25.25
clt 04.94.25.25.25
Merci de bien vouloir m'aider.
A voir également:
- Recherche de doublons
- Doublons photos - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Rechercher ou entrer l'adresse mm - recherche google - Guide
- Recherche image - Guide
- Je recherche une chanson - Guide
4 réponses
Precisons le probleme veux tu...
Tu as une table (simplifiee):
Nom Tel
aaa 999
bbb 111
ccc 999
ddd 222
eee 111
et tu veux avoir en sortie de ta requete
999 2
111 2
C'est ca?
. .
\_/
Tu as une table (simplifiee):
Nom Tel
aaa 999
bbb 111
ccc 999
ddd 222
eee 111
et tu veux avoir en sortie de ta requete
999 2
111 2
C'est ca?
. .
\_/
Ta compris le truc mais au lieu de m'afficher le nombre de doublons, je veux qu'il me les affiche carrément:
aaa 999
ccc 999
bbb 111
eee 111
Merci de te pencher sur mon pb
aaa 999
ccc 999
bbb 111
eee 111
Merci de te pencher sur mon pb
OK...
SELECT nom, tel, COUNT(tel) AS occurence FROM matable WHERE occurence>1 ; ca marche pas ca?
En tout cas, tu ne peux pas utiliser un GROUP BY, cela regroupe les donnees selon ce critere...
. .
\_/
SELECT nom, tel, COUNT(tel) AS occurence FROM matable WHERE occurence>1 ; ca marche pas ca?
En tout cas, tu ne peux pas utiliser un GROUP BY, cela regroupe les donnees selon ce critere...
. .
\_/
Non ca ne marche pas,
Il me dit : Champ 'occurence' inconnu dans where clause.
Par contre si je met le count dans le having, là il me met qu'un seul enregistrement.
càd, sur
aaa 999
ccc 999
il me donne que : aaa 999
Il me dit : Champ 'occurence' inconnu dans where clause.
Par contre si je met le count dans le having, là il me met qu'un seul enregistrement.
càd, sur
aaa 999
ccc 999
il me donne que : aaa 999
Salut, Désolé d'avoir tardé pour te répondre mais ca fé un bail que je vé plus sur ma boite email.
Sinon,j'ai résolu mon problème en faisant 2 requêtes.
La première sélectionne tous les téléphonnes de ma table, je les mets dans une variable.
Et dans ma deuxième requête je sélectionne les clients qui ont le même téléphonne que que les N°Tel que g mis dans ma variable grace à la requête précédente.
Je sé pas si ta compris le contexte mé ca fé longtem que g fait ca et je me souvien pas exactement de mon script.
Mé je vé voir et en cas je te passe exactement la syntaxe.
A plus
Sinon,j'ai résolu mon problème en faisant 2 requêtes.
La première sélectionne tous les téléphonnes de ma table, je les mets dans une variable.
Et dans ma deuxième requête je sélectionne les clients qui ont le même téléphonne que que les N°Tel que g mis dans ma variable grace à la requête précédente.
Je sé pas si ta compris le contexte mé ca fé longtem que g fait ca et je me souvien pas exactement de mon script.
Mé je vé voir et en cas je te passe exactement la syntaxe.
A plus
Ben cela fonctionne, merci..
Par contre j'aimerai aller un peu plus loin, je m'explique :
j'aimerais pouvoi afficher en fonction du nombre de personne qui a le même numéro.
Pour le moment j'ai un truc comme ça :
aaa 999
ccc 999
fff 999
bbb 111
eee 111
rrr 555
...
et ce que j'aimerais c'est paramétrer en fonction du meme numéro de téléphone ma requete pour obtenir juste:
aaa 999
ccc 999
fff 999
ou
bbb 111
eee 111
Je suis pas certaine que ce soit possible mais bon.
Par contre j'aimerai aller un peu plus loin, je m'explique :
j'aimerais pouvoi afficher en fonction du nombre de personne qui a le même numéro.
Pour le moment j'ai un truc comme ça :
aaa 999
ccc 999
fff 999
bbb 111
eee 111
rrr 555
...
et ce que j'aimerais c'est paramétrer en fonction du meme numéro de téléphone ma requete pour obtenir juste:
aaa 999
ccc 999
fff 999
ou
bbb 111
eee 111
Je suis pas certaine que ce soit possible mais bon.
Ben je viens de trouver la solution
select A.nom,
A.telephone
from table as A,
table as B
where A.telephone = B.telephone
and A.nom != B.nom
group by A.nom, A.telephone
having count(A.nom) = X
X étant la valeur à paramétrer : 1, 2, 3, ....
j'ai un petit bug néanmoins quand je met X = 2 il m'affiche tous les groupes de 3 personnes qui ont le meme tél.. mais bon
Merci à tous pour votre aide
select A.nom,
A.telephone
from table as A,
table as B
where A.telephone = B.telephone
and A.nom != B.nom
group by A.nom, A.telephone
having count(A.nom) = X
X étant la valeur à paramétrer : 1, 2, 3, ....
j'ai un petit bug néanmoins quand je met X = 2 il m'affiche tous les groupes de 3 personnes qui ont le meme tél.. mais bon
Merci à tous pour votre aide