Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/04/2011, 01:14
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Consulta en mysql de dos tablas

No funcionará pero la logica seria esta

Código MySQL:
Ver original
  1. SELECT t.palabras,
  2.              COUNT(*) AS num,
  3.              (SELECT count(*)
  4.                    FROM files
  5.                       WHERE titulo LIKE '%t.palabras%'
  6.                             OR descripcion LIKE '%t.palabras%' ) as numFiles
  7. FROM tags t GROUP BY t.palabras;

'%t.palabras%'
Habría que construir una expresión regular que usara el valor de la consulta principal, no se si se puede hacer...

A ver si alguien me contradice pero yo lo que haria seria

1. Ejecutar la primera consulta
2. Recorrer el resultado con un bucle (externo, php o lo que sea)
3. Mostrar el registro ---- palabra* numero
4. Ejecutar la segunda consulta con la palabra*
5. Mostrar el resultado ---- XX files

La estructura que tines no me acaba de convencer

Tags
idTag PK
palabra Unic

Files
idFiles
nombre
titulo
descripcion
...

RelFilesTags
idRel PK
idFiles FK
idTag FK

Con esta estructura lo tendrias solucionado puesto que el numero de ocurrencias de una palabra coincidira con el numero de files relacionados, ademas los tags se guardan una sola vez con el consiguiente ahorro de espacio... y la base estaria normalizada.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.