Retour au site
Connexion : S'inscrire

9 messages
Filtrer ok

Sql like %select ...

Un expert informatique vous aide immédiatement par téléphone.
Bonsoir,

je cherche une solution pour faire en sorte que la requete suivante fonctionne :

select champs1, champs2 from table 1 where
champs2 like '%(select champs3 from table2)%'

ou

select champs1, champs2 from table 1 where
champs2 in (select champs3 from table2) : la ça marche mais il faut que champs2 = champs3 et non que champs2 like '%champs3%'

Je me casse la tete depuis un moment et je n'y arrive pas.

Le but c'est de faire une recherche automatique d'un bout de texte dans un champs contenant une phrase. la table2 correspond à une table de mots clés.

Merci de votre aide.
 
 
Salut,

Quel SGBD utilises-tu ?
Modérateur Logiciel - Programmation
 
 
guymage a écrit:
Salut,

Quel SGBD utilises-tu ?


-> MySQL 5.0.27
 
 
Avec la fonction concat, tu peux t'en sortir:

Code :
select t1.champs1, t1.champs2 from table1 t1, table2 t2 where
champs2 like CONCAT('%',t2.champs3,'%')
Modérateur Logiciel - Programmation
 
 
CONCAT, ou sa version ANSI SQL : '%' || t2.champs3 || '%' que mySQL devrait confondre avec l'opérateur OU du C.
Modérateur Logiciel - Programmation
 
 
guymage a écrit:
Avec la fonction concat, tu peux t'en sortir:

Code :
select t1.champs1, t1.champs2 from table1 t1, table2 t2 where
champs2 like CONCAT('%',t2.champs3,'%')


Merci la solution était devant moi mais je ne pouvais pas la voir.

Merci de votre aide.
 
 
tu peux utiliser celle la:

select T1.champs1, T1.champs2 from table1 T1, table2 T2 where
T1.champs2 like ( '%' || T2.champs3 ||'%')

je pense que c'est plus facile
 
 
Tu répètes ce qu'a dit Sans-Nom dans son dernier post.
Modérateur Logiciel - Programmation
 
 
Désolé je ne l'ai pas Vu
je voulais te donner un coup de main mais apparrement c'est déja fais par Sans-Nom
 
 

|
 
9 messages
Un expert informatique vous aide immédiatement par téléphone.
Filtrer ok
 
Vous devez être connecté pour écrire un message !
 

 Sujets Similaires: