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
[Résolu] Dédoubler une colonne
Modérateur : Vilains modOOs
Règles du forum
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
[Résolu] Dédoubler une colonne
Dernière modification par fab le 28 nov. 2011 13:37, modifié 1 fois.
OpenOffice 4.0.1
sous Windows 7 64bits
sous Windows 7 64bits
- jeanmimi
- Grand Maître de l'OOffice
- Messages : 16955
- Inscription : 03 mars 2006 17:02
- Localisation : Venise verte
Re: Dédoubler une colonne
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 ?
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 ?
LibreOffice : Version : 24.2.1 (x64)(14 mars 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
- Dude
- IdOOle de la suite
- Messages : 25143
- Inscription : 03 mars 2006 08:45
- Localisation : 127.0.0.1
- Contact :
Re: Dédoubler une colonne
Salut,
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 :
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).
La fonction LOCATE le permet.jeanmimi a écrit :c'est de repérer le l'espace vide entre le prénom et le nom
Si on part du principe que la table a la structure suivante :
Code : Tout sélectionner
nom_complet | nom | prenom
Code : Tout sélectionner
UPDATE "clients" SET
"nom" = SUBSTRING( "nom_complet", LOCATE( ' ', "nom_complet" ) + 1 ),
"prenom" = LEFT( "nom_complet", LOCATE( ' ', "nom_complet" ))
Re: Dédoubler une colonne
Il y a une erreur de conception dans la table. Il y aurait du y avoir 2 champs.jeanmimi a écrit :Ceci étant dit, quel peut être l'intérêt de dédoubler cette colonne ?
Ce n'est pas moi qui suis à l'origine de la base. Je fais avec...
Super, ça va bien me servir.Dude a écrit :La fonction LOCATE le permet.
Je passe en [Résolu]
A bientôt
OpenOffice 4.0.1
sous Windows 7 64bits
sous Windows 7 64bits
- jeanmimi
- Grand Maître de l'OOffice
- Messages : 16955
- Inscription : 03 mars 2006 17:02
- Localisation : Venise verte
Re: [Résolu] Dédoubler une colonne
Excellent !
Je joins un petit exemple pour ceux qui voudraient mettre le SQL dans une requête en Mode ébauche.
Je joins un petit exemple pour ceux qui voudraient mettre le SQL dans une requête en Mode ébauche.
- Pièces jointes
-
- Base avec LOCATE pour déconcaténer.odb
- (5.29 Kio) Téléchargé 239 fois
LibreOffice : Version : 24.2.1 (x64)(14 mars 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox