Précédent   Forum des professionnels en informatique > Bases de données > MySQL
MySQL Forum d'entraide MySQL. Avant de poster -> FAQ MySQL, Tutoriels MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/04/2011, 15h49   #1
Invité de passage
 
Inscription : janvier 2009
Messages : 12
Détails du profil
Informations forums :
Inscription : janvier 2009
Messages : 12
Points : 2
Points : 2
Par défaut Fusion sans doublon de données de champs

Bonjour,

Je voudrai savoir si c'est possible en MYSQL de fusionner des données de deux champ ? si oui comment ?

Exemple:

champ1 * champ 2 * résultat souhaité
--------------------------------------------
Espace * Espace renaut * Espace renaut
audi * A3 audi 5p * A3 audi 5p
5p renaut * renaut * 5p renaut
espace 5p vitré * 5p teinté * espace 5p vitré teinté

(Il n'y pas pas d'importance dans l'ordre des données dans "résultat souhaité")

Merci d'avance pour votre aide
leberger est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2011, 17h34   #2
Membre Expert
 
Homme Eric Dureuil
Développeur informatique
Inscription : avril 2011
Messages : 843
Détails du profil
Informations personnelles :
Nom : Homme Eric Dureuil
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2011
Messages : 843
Points : 1 318
Points : 1 318
Salut,

oui c'est possible mais le résultat est pas vraiment garanti...

Déjà ce qui est sur c'est que ce sera une procédure stockée!

Par contre, mysql est très bien pour chercher une chaine dans une autre, peu performant et pourvu pour les modifier...

Est-ce que le traitement ne concerne que 2 champs d'une seule ligne à la fois?

Si c'est le cas, c'est simple un curseur qui balaye tes lignes et lit les 2 champs et tu appliques :
Code algorithme :
1
2
3
4
5
6
7
8
Pour chaque ligne
{
	tant qu il y a un mot (espace comme séparateur)
	{
		extraire le 1er mot
		si il n existe pas alors l ajouter avec un espace devant à la fin de l autre chaine
	}
}

Les fonctions sur les chaines de caractères de mysql permettent facilement ça.
ericd69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h15.


 
 
 
 
Partenaires

Hébergement Web