bonjour,
J'ai suivi le tutoriel sur l'indexation textuelle ( http://sql.developpez.com/indextextuelle ) , et je voudrai avoir un conseil pour récupérer le nombre de résultats d'une recherche.
Je prends le cas de la recherche avec un 'ET' sur plusieurs mots :
Ce que je souhaite faire c'est reprendre la requete avec un count() pour me donner le nombre de résultats:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 select distinct t.TXT_ID from TEXTE t join INDEX d on t.TXT_ID = d.TXT_ID join MOT m on d.MOT_ID = m.MOT_ID where m.MOT_MOT in ('BASSE', 'GUITARE', 'CONTREBASSE') group by t.TXT_ID having count(*) >= 3
Bien sûr, cette solution ne marche pas, et me donne d'avantage de résultats que prévu, car la clause having n'est pas prise en compte.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 select count(distinct t.TXT_ID) from TEXTE t join INDEX d on t.TXT_ID = d.TXT_ID join MOT m on d.MOT_ID = m.MOT_ID where m.MOT_MOT in ('BASSE', 'GUITARE', 'CONTREBASSE') group by t.TXT_ID having count(*) >= 3
Est-ce que vous avez une idée?
Partager