[SQL] indexation textuelle
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 :
Code:
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 |
Ce que je souhaite faire c'est reprendre la requete avec un count() pour me donner le nombre de résultats:
Code:
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 |
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.
Est-ce que vous avez une idée?