Problème SQL avec OR

Résolu
JB_A Messages postés 301 Date d'inscription   Statut Membre Dernière intervention   -  
JB_A Messages postés 301 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je viens de réaliser un SQL afin de rechercher dans plusieurs colonne l'existance d'un mot clé.

S'il n'y a qu'un enregistrement dans lequel se trouve ce mot clé, il me renvoie bien l'enregistrement mais s'il y en a plusieurs, il me renvoie n'importe quoi (le nombre d'enregistrement multiplié par +/- 10000).

Voici mon SQL :

SELECT fjs_ticket_id, fjs_categoryticket_libelle, fjs_state_libelle, fjs_ticket_date_created, 
fjs_inus_prenom, fjs_inus_nom, fjs_ticket_userid from tjs_ticket, tjs_state, tjs_category_ticket, 
tjs_internal_user where fjs_ticket_userid=fjs_inus_id AND fjs_ticket_stateid=fjs_state_id AND fjs_ticket_categorid=fjs_categoryticket_id AND fjs_categoryticket_libelle LIKE '%keyword%' 
OR fjs_ticket_comment LIKE '%keyword%' OR fjs_ticket_historique LIKE '%keyword%' 
OR fjs_ticket_contournement LIKE '%keyword%' OR fjs_ticket_soluce LIKE '%keyword%' 
ORDER BY fjs_ticket_stateid DESC, fjs_ticket_date_created ASC 


Pourriez-vous m'aider. SVP Merci
A voir également:

2 réponses

gigaga Messages postés 2347 Date d'inscription   Statut Membre Dernière intervention   301
 
Tu ne fais pas de jointures entre tes tables tjs_ticket, tjs_state, tjs_category_ticket, tjs_internal_user?
0
JB_A Messages postés 301 Date d'inscription   Statut Membre Dernière intervention   5
 
Merci de ta réponse.

C'est quoi une jointure ? Cela sert à quoi ?

Sinon pour mon problème, je viens de trouver la solution sur le forum :

http://www.commentcamarche.net/forum/affich 7066361 syntaxe sql or

Il suffit tout simplement de mettre tous les OR dans une parenthèse.
0
gigaga Messages postés 2347 Date d'inscription   Statut Membre Dernière intervention   301 > JB_A Messages postés 301 Date d'inscription   Statut Membre Dernière intervention  
 
La jointure c'est pour lié les tables entre elles par leur clé primaire/étrangère. Si tu ne les lie pas, il y aura une multiplication des éléments.
Mais bon, tu as trouvé, c'est cool!
0
JB_A Messages postés 301 Date d'inscription   Statut Membre Dernière intervention   5 > gigaga Messages postés 2347 Date d'inscription   Statut Membre Dernière intervention  
 
Merci de ta réponse,

Désolé de mon ignorance sur ce point mais je suis autodidacte en programmation et pour faire le lien entre les différentes tables j'ajoute des critères comme
fjs_ticket_userid=fjs_inus_id 
(qui permet de lier la table tjs_ticket et la table tjs_internal_user). C'est pas comme cela que cela marche ?
0
Matio Messages postés 671 Date d'inscription   Statut Membre Dernière intervention   300 > JB_A Messages postés 301 Date d'inscription   Statut Membre Dernière intervention  
 
Si c'est aussi des jointures SQL 1
0
gigaga Messages postés 2347 Date d'inscription   Statut Membre Dernière intervention   301
 
en fait, c'est <table1>.<attribut1> = <table2>.<attribut2> attribut1 et attribut2 étant des clés primaires/étrangères.
0
JB_A Messages postés 301 Date d'inscription   Statut Membre Dernière intervention   5
 
Merci pour ces renseignements.

@ +
0