Bonjour à tous, j'aimerais faire une requête qui me permet de rapprocher des personnes, je travail sur deux bases de données différentes, je me connecte sur une et à partir d'un link je peux me connecter sur l'autre.

Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
SELECT  Translate(Upper(base1.NOM), 'àãâäçéèêëîïôöûüù _-^¨"''', 'aaaaceeeeiioouuu'), Translate(Upper(base1.PRENOM),'àãâäçéèêëîïôöûüù _-^¨"''','aaaaceeeeiioouuu'), Translate(Upper(base2.NAME),'àãâäçéèêëîïôöûüù _-^¨"''','aaaaceeeeiioouuu'), Translate(Upper(base2.FIRSTNAME),'àãâäçéèêëîïôöûüù _-^¨"''','aaaaceeeeiioouuu')
FROM    AGENT base1, p_ctc@linkbase1base2 base2
WHERE   Translate(Upper(base1.NOM), 'àãâäçéèêëîïôöûüù _-^¨"''', 'aaaaceeeeiioouuu') = Translate(Upper(base2.FIRSNAME),'àãâäçéèêëîïôöûüù _-^¨"''','aaaaceeeeiioouuu')
AND     Translate(Upper(base1.PRENOM),'àãâäçéèêëîïôöûüù _-^¨"''','aaaaceeeeiioouuu') = Translate(Upper(base2.FIRSTNAME),'àãâäçéèêëîïôöûüù _-^¨"''','aaaaceeeeiioouuu');
En gros, il y a des personnes qui existent dans les deux bases, des personnes n'existant que dans la première et des personnes qui n'existent que dans la deuxième. Les translate servent à enlever tous les caractères spéciaux, blancs etc ... Pour que par exemple un Dupond Jean Pierre dans la première base et un Dupond Jean-Pierre dans la deuxième soient egaux car c'est la même personne, ce qui donnera DUPOND JEANPIERRE pour relever l'égalité. J'aimerais les rapprocher de cette façon :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
BASE1            BASE2
NOM PRENOM       NAME FIRSTNAME
Avec ce que j'ai fait ça marche, maintenant je vais vous faire une batterie de tests pour voir ce que j'aimerais, car actuellement je n'ai pas tous les agents des deux cotés :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
BASE1                        BASE2
DUPOND JEANPIERRE            DUPOND JEANPIERRE
DUPONT MARC                    
                             CLAVIER CHRISTIAN
Si il y a une case blanche, le nom n'est pas présent dans la base.
Voila j'espère que c'est compréhensible. Merci.