Hola.
Estoy desarrollando un pequeño buscador que permita teclear varias palabras para buscar por ellas, de momento solo trabajo con dos.
La tabla donde están las palabras y el documento al que señalan entre otros tiene los campos:
PALABRA que almacena una palabra clave de ese documento.
ID_DOCUMENTO que señala al documento.
Por cada palabra clave que tiene un documento hay un registro en la tabla del buscador. Como es de suponer un documento puede tener varias palabras claves y aparecer varias veces en la tabla del buscador.
La orden SQL que utilizo para localizar los documentos que tienen las palabras perro y coche es:
select * from buscador where palabra='perro' or palabra='coche' order by fecha DESC,id_documento;
Con esta orden consigo que aparezcan primero las altas en el buscador más recientes y además si un documento tiene las dos palabras obtengo los dos registros de ese documento juntos. Luego en el script de ASP me encargo de mostrar solo un registro por cada documento, aunque aparezca dos veces.
Mi problema es que quiero que aparezcan primero los documentos que tienen las dos palabras, después los que tienen solo casa y luego los que tienen solo perro.
Alguien se le ocurre como lo puedo hacer. Mediante SQL o con algún array en memoria, no se… si alguien me puede orientar muchas gracias.
Un saludo.
Oscar