Jointure et clause like non compatible

Messages postés
5
Date d'inscription
dimanche 18 avril 2010
Statut
Membre
Dernière intervention
16 décembre 2011
- - Dernière réponse : 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!! :)
Afficher la suite 

2 réponses

Messages postés
41
Date d'inscription
vendredi 30 octobre 2009
Statut
Membre
Dernière intervention
13 décembre 2012
0
Merci
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.
Commenter la réponse de galled
Messages postés
5
Date d'inscription
dimanche 18 avril 2010
Statut
Membre
Dernière intervention
16 décembre 2011
0
Merci
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!!
Commenter la réponse de rmjkaya