|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |
|
Futur Membre du Club
![]() Inscription : novembre 2007 Messages : 90 ![]() |
Bonjour,
J'ai une base Terardata et je dois faire un lien entre 2 tables sur un champ qui est caractére dans les 2 tables. Sauf que, il y a toujours un sauf, dans une des tables la donnée est formatée à 2 caratéres avec un 0 devant et dans l'autre non. Le lien entre les 2 tables ne se fait donc pas systématiquement. Je ne vois pas comment faire simplement Citation:
|
|
|
|
00
|
|
|
#2 |
![]() ![]() Alain Ingénieur d'études décisionnel Inscription : mai 2002 Messages : 4 872 ![]() |
Quel est le type des 2 colonnes ?
Est-ce toujours une valeur numérique ?
__________________
Modérateur Langage SQL N'oubliez pas le bouton et pensez aux balises [code]Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
|
|
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() Inscription : novembre 2007 Messages : 90 ![]() |
Les 2 colonnes sont en caractére
|
|
|
00
|
|
|
#4 | |
![]() ![]() Alain Ingénieur d'études décisionnel Inscription : mai 2002 Messages : 4 872 ![]() |
Quand je demandais le type, j'attendais la manière dont elles sont déclarées...
CHAR ou VARCHAR ? Quelle taille ? Et puis tu n'as pas répondu à la seconde question : Citation:
__________________
Modérateur Langage SQL N'oubliez pas le bouton et pensez aux balises [code]Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
|
|
|
|
00
|
|
|
#5 |
|
Futur Membre du Club
![]() Inscription : novembre 2007 Messages : 90 ![]() |
Pardon c'est du VARCHAR(15)
|
|
|
00
|
|
|
#6 | ||
![]() ![]() Alain Ingénieur d'études décisionnel Inscription : mai 2002 Messages : 4 872 ![]() |
Je réitère !
Citation:
__________________
Modérateur Langage SQL N'oubliez pas le bouton et pensez aux balises [code]Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
|
||
|
|
00
|
|
|
#7 |
|
Futur Membre du Club
![]() Inscription : novembre 2007 Messages : 90 ![]() |
Non ce n'est pas toujours des champs numériques. Mais quand c'est numérique c'est des valeurs de 00 à 99.
|
|
|
00
|
|
|
#8 |
![]() ![]() Alain Ingénieur d'études décisionnel Inscription : mai 2002 Messages : 4 872 ![]() |
Le plus simple serait réellement de convertir les valeurs d'une des deux tables de manière à avoir des valeurs comparables parce que tu vas perdre en performances au niveau de ta jointure.
Sinon tu peux faire comme ça : Code :
Colonne_sans_0 = CASE WHEN Colonne_avec_0 BETWEEN '01' AND '09' THEN SUBSTRING(Colonne_avec_0 FROM 2) ELSE Colonne_avec_0 END Ou comme ça Code :
Colonne_avec_0 = CASE WHEN Colonne_sans_0 BETWEEN '1' AND '9' THEN '0' || Colonne_sans_0 ELSE Colonne_sans_0 END
__________________
Modérateur Langage SQL N'oubliez pas le bouton et pensez aux balises [code]Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
|
|
|
00
|
|
|
#9 |
|
Futur Membre du Club
![]() Inscription : novembre 2007 Messages : 90 ![]() |
Merci
![]() Je vais tester ça la jointure avec le case et between. La transformation des tables pour mettre la mise en forme avant je voulais éviter par ce que c'est une table de 10 millions de lignes d'un côté et une petite de 20 000 de l'autre. C'est sur que les perf ça va pas être top mais je vais faire la comparaison. Encore merci |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com