Page 1 sur 1
[Résolu] Dédoubler une colonne
Publié : 27 nov. 2011 17:19
par fab
Bjr,
Je récupère une base dont certaines données ont été entrées dans une seule colonne.
Pour simplifier : Prénom et Nom sont dans un seul enregistrement.
Et je cherche à les "éclater" dans deux nouvelles colonnes
Les fonctions RIGHT ou LEFT ne m'aident pas trop dans ce cas.
Bien sûr, je pourrais traiter ça dans un tableur et réimporter ensuite mais y-a t-il une solution en SQL pur ?
Merci de votre aide
Re: Dédoubler une colonne
Publié : 27 nov. 2011 18:18
par jeanmimi
Bonjour,
Autant concaténer est simple, dé-concaténer est inconnu au bataillon. Ce qui serait intéressant, c'est de repérer le l'espace vide entre le prénom et le nom, puis séparer ce qui et à gauche de ce qui est à droite de cet espace, mais je n'ai pas trouvé comment.
Ceci étant dit, quel peut être l'intérêt de dédoubler cette colonne ?
Re: Dédoubler une colonne
Publié : 28 nov. 2011 09:23
par Dude
Salut,
jeanmimi a écrit :c'est de repérer le l'espace vide entre le prénom et le nom
La fonction LOCATE le permet.
Si on part du principe que la table a la structure suivante :
L'exécution par Outils > SQL de cette requête permet d'éclater en deux parties le champ nom_complet :
Code : Tout sélectionner
UPDATE "clients" SET
"nom" = SUBSTRING( "nom_complet", LOCATE( ' ', "nom_complet" ) + 1 ),
"prenom" = LEFT( "nom_complet", LOCATE( ' ', "nom_complet" ))
Merci d'ajouter [Résolu] au début du titre de ton 1er message et de cocher la case de l'icône de sujet (le V vert).
Re: Dédoubler une colonne
Publié : 28 nov. 2011 12:31
par fab
jeanmimi a écrit :Ceci étant dit, quel peut être l'intérêt de dédoubler cette colonne ?
Il y a une erreur de conception dans la table. Il y aurait du y avoir 2 champs.
Ce n'est pas moi qui suis à l'origine de la base. Je fais avec...
Dude a écrit :La fonction LOCATE le permet.
Super, ça va bien me servir.
Je passe en [Résolu]
A bientôt
Re: [Résolu] Dédoubler une colonne
Publié : 28 nov. 2011 13:44
par jeanmimi
Excellent !
Je joins un petit exemple pour ceux qui voudraient mettre le SQL dans une requête en Mode ébauche.