Bonjour,
Je débute avec SQL et je veux créer une jointure avec un attribut qui est de format différent entre les deux tables.
Dans la Table A il est sous le format '123456789'
Dans la Table B il est sous le format '123 456 789'
Merci davance
Bonjour,
Je débute avec SQL et je veux créer une jointure avec un attribut qui est de format différent entre les deux tables.
Dans la Table A il est sous le format '123456789'
Dans la Table B il est sous le format '123 456 789'
Merci davance
hello
Tu peux faire une jointure du type :
A.C1 = replace(B.C1," ","")
Ca va fonctionner mais le résultat risque d'être lent dans le cas d'un grand nombre de lignes car l'utilisation d'une fonction replace va empêcher l'utilisation d'index.
Si ce masque reste le même "XXX YYY ZZZ", tu pourrais stocker les valeurs sans espace et afficher les données avec la présentation que tu souhaites?
Il y a peut-être une erreur de conception là dessous !
En principe, on fait une condition de jointure sur des clés primaires et étrangères, donc des identifiants de type entier.
Si le nombre exemple que tu nous présentes est une chaîne de caractères, alors c'est un mauvais choix de clé.
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