Jointure et clause like non compatible

rmjkaya Messages postés 5 Date d'inscription dimanche 18 avril 2010 Statut Membre Dernière intervention 16 décembre 2011 - 15 déc. 2011 à 10:26
rmjkaya Messages postés 5 Date d'inscription dimanche 18 avril 2010 Statut Membre Dernière intervention 16 décembre 2011 - 16 déc. 2011 à 09:26
Bonjours tous le monde,
J'aimerai savoir si il n'est pas possible de combiner les jointures avec les clauses LIKE car je suis confronté avec ce problème en ce moment!
J' ai créer un petit moteur de recherche dans plusieurs table reliés et j'arrive pas à avoir de résultat! :(
Voici la requête:
SELECT DISTINCT(ticket.id_ticket),id_status,id_projet,summary,description,save_by,assign_to

  FROM ticket

  INNER JOIN textfield_value

  USING(id_ticket)

  WHERE  id_projet='3' AND ( ticket.summary LIKE '%salut%'

  	 OR ticket.description LIKE '%salut%'

  	 OR textfield_value.detail LIKE '%salut%'

  	 OR textfield_value.valeur LIKE '%salut%' OR ticket.summary LIKE '%les%'

  	 OR ticket.description LIKE '%les%'

  	 OR textfield_value.detail LIKE '%les%'

  	 OR textfield_value.valeur LIKE '%les%' OR ticket.summary LIKE '%gars%'

  	 OR ticket.description LIKE '%gars%'

  	 OR textfield_value.detail LIKE '%gars%'

  	 OR textfield_value.valeur LIKE '%gars%' ) LIMIT 0,5



Etant données que les données recherchés sont bel et bien dans mes enregistrement alors qu'aucun résultat n'est retourné!!
S'il vous plait, si quelqu'un peut m'aider! :(

Merci d'avance!! :)

2 réponses

galled Messages postés 41 Date d'inscription vendredi 30 octobre 2009 Statut Membre Dernière intervention 13 décembre 2012
15 déc. 2011 à 16:27
Bonjour,

En principe tu peux utiliser Like dans un jointure sans problème.

Le problème de ta requête vient d'ailleurs.

Si tu fait INNER JOIN en principe tu dois mettre ta condition de lien INNER JOIN textfield_value ON (condition de lien) si tu veux pas le faire comme ça tu peux faire FROM ticket, textfield_value(c'est une table?).

Autre chose personnel je n'ai jamais DISTINCT sur un champs, donc je ne crois pas que ça se fait DISTINCT c'est pour retourner sans doublons sur l'ensemble des champs, mais peut-être que je me trompe.
0
rmjkaya Messages postés 5 Date d'inscription dimanche 18 avril 2010 Statut Membre Dernière intervention 16 décembre 2011
16 déc. 2011 à 09:26
Merci pour ta réponse galled
oui!ticket et textfield_value sont les tables à lier!Concernant le ON (condition de lien),je suis d'accord avec toi mais on peut aussi procéder d'un autre façon comme pour mon cas j'ai utilisé USING(id_ticket) pour le lien car les 2 tables possèdent le champs id_ticket qui sert de lien!Ici [USING(id_ticket)]=[ON ticket.id_ticket=textfield_value.id_ticket] !

Pour le DISTINCT,justement on l'utilise sur un champ pour qu'il ne renvoi pas le même enregistrement si plusieurs résultat positifs a été trouvées sur le même enregistrement du donc élimine les doublons!D'ailleurs je l'ai déjà enlevé une fois mais ça na rien résolu!

La seul chose qui me rend malade c'est pourquoi aucun résultat n'est retourné alors que j'alimente mes tables avec plusieurs mots clés qui d'ailleurs sont présents dans les tables en question?

D'après toi comment dois-je adapter cette requête!!
0