Bonsoir à tous,
Cela fait 2h que je bosse sur une requête qui, en MySQL, me poserait sûrement moins de problèmes. Mais bon voilà, le client a un serveur sous Firebird donc pas trop le choix !
J'ai 2 tables :
Mon but, c'est de sortir tous les documents (table Documents) répondant aux mots clés (table MotsCles) saisis par l'utilisateur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Documents (ID,TITRE,....) MotsCles(IDDOCUMENT,MOT)
Si l'utilisateur saisi "coussin" et "lit", il aura les documents qui ont comme mot clé "coussin" ET "lit" (les deux).
J'ai essayé bon nombre de requêtes mais firebird semble fonctionner différemment au niveau des "group by", car j'ai souvent le message d'erreur suivant :
Pour le moment, voici ma requête :-SQL error code = -104
-Invalid expression in the select list (not contained in either an aggregate function or the GROUP BY clause)
La requête ne me renvoi rien du tout... Et si je mets juste "lit", j'ai souvent des occurrences en double.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT ID,TITRE,AUTEUR FROM DOCUMENTS LEFT JOIN MOTSCLES ON DOCUMENTS.ID=MOTSCLES.IDDOCUMENT WHERE UPPER(MOT) LIKE UPPER('%lit%') AND UPPER(MOT) LIKE UPPER('%coussin%')
Je peine un peu... Alors si une âme charitable passe par là... Dans le cas contraire j'espère y voir un peu plus clair demain.
La nuit porte conseil...
Merci
Partager