mib_valentine
Messages postés25Date d'inscriptionvendredi 25 novembre 2011StatutMembreDernière intervention 1 mai 2013
-
Modifié par mib_valentine le 26/11/2011 à 09:23
Bonsoir à tous,
Je suis confrontée à un problème avec le like :
je dois comparer 2 tables, à savoir :
- TABLE DES AFFILIATIONS : elle comprend un champ REFERENCE (les champs sont séparés par ", " sauf le premier et le dernier) dans le lequel on trouve des données du type :
CEA Grenoble, Lab Cytosquelette, INSERM, U366, Grenoble, France
CHU Brest, INSERM, CIC 0502, Ctr Invest Clin, F-29285 Brest, France
- TABLE DES SYNONYMES : un seul champ NOM avec des valeurs du type :
INSERM
Ctr Invest Clin
CHU
Je voudrais seulement et uniquement écrire une requête dans l'objectif de repérer quelles sont les lignes de TABLE DES AFFILIATIONS qui contiennent les valeurs de la table des synonymes.
J'avais écrit :
SELECT affiliation.id, affiliation.reference, synonyme.id, synonyme.nom
FROM affiliation,synonyme
WHERE reference LIKE '*' & nom & '*';
Le résultat est presque correct sauf que j'obtiens des enregistrements qui ne me conviennent pas : si je cherche la valeur SYNONYME "CH", je ne veux pas qu'il m'affiche "CHU".
J'ai beau jouer avec les virgules, je ne parviens à rien. Par exemple :
SELECT affiliation.id, affiliation.reference, synonyme.id, synonyme.nom
FROM affiliation,synonyme
WHERE ', ' & reference &',' LIKE ', ' & nom & ',';
0 résultat.
Bref, je bloque!
Si vous avez une idée, je vous serais très reconnaissante : j'aurais du mal à aller me coucher sans trouver ce petit rien du tout...