bonjour,
j'ai une table de contact avec un champ nom qui comporte plusieurs fois la meme valeur.
BALKANI BALKANI Eric
ANDRE ANDRE Frédéric
Connaissez-vous une requête SQL qui permette de supprimer le doublon dans cette chaine de caractère.
bonjour,
j'ai une table de contact avec un champ nom qui comporte plusieurs fois la meme valeur.
BALKANI BALKANI Eric
ANDRE ANDRE Frédéric
Connaissez-vous une requête SQL qui permette de supprimer le doublon dans cette chaine de caractère.
Essaie déjà de les détecter avec cette requête :
S'il n'y a pas de faux doublon, tu pourras utiliser la condition WHERE dans une requête UPDATE.
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT nom FROM la_table WHERE LEFT(nom, LOCATE(' ', nom)) = SUBSTRING(nom FROM LOCATE(' ', nom) + 1 FOR LOCATE(' ', nom))
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
Est-il normal que sur 22800 enregistrement, il m'en sorte 21700, j'ai l'impression qu'il me sors tout sauf les doublons.
Examine le résultat et vois s'il est cohérent. On ne peut pas le dire à ta place.
Éventuellement, il faut peut-être ajouter 1 au LOCATE. Regarde la doc de MySQL pour savoir exactement le résultat retourné.
Et puis fais des tests avant de faire la requête UPDATE, n'oublie pas de sauvegarder la BDD avant l'UPDATE car ce genre de truc peut complètement foirer les données de la table.
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
Pas forcement mieux, mais je la trouve plus simple à comprendre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT nom FROM la_table WHERE nom LIKE CONCAT(LEFT(nom, LOCATE(' ', nom)), LEFT(nom, LOCATE(' ', nom)),'%')
Il manque l'espace séparant les deux noms dans ton CONCAT !
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager