Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/01/2011, 05:13
Bam_Margera
 
Fecha de Ingreso: febrero-2009
Mensajes: 580
Antigüedad: 15 años, 9 meses
Puntos: 13
Query de una búsqueda no me hace del todo caso

Veamos,

Se trata de una busqueda de elementos por etiquetas

Tengo: Elemento [id,nombre,fecha] y etiqueta [id,nombre,id_elemento,fecha]

Bien,

Digamos que quiero tres resultados diferentes:

1) con solo las etiquetas introducidas y ninguna más
2) con alguna más
3) con alguna menos

Bien, digamos que tengo problemas con el 1) , que , de momento estoy intentando así:


Código PHP:
SELECT b.id as id_deseada FROM elemento betiquetas c WHERE c.id_elemento b.id AND (c.nombre IN ('etiqueta','segunda_etiqueta')) AND (c.nombre NOT IN ('etiqueta1','etiqueta2','etiqueta3','etiqueta4','etiqueta5')) GROUP BY b.id HAVING COUNTc.id )=
El problema es que si escribo: 'etiqueta, segunda_etiqueta', me salen solo los elementos que tienen TODAS las etiquetas pero también resultados con etiqueta1 u otra que no he introducido...

Como puedo asegurarm de que se cumpla el primer IN y que el numero de etiquetas sea el que le paso a having count?

es decir que tenga todas las etiquetas buscadas y que el numero de etiquetas ( c.id ? ) del elemento sea igual al numero de etiquetas que vienen del formulario.
__________________
¿ya conoces la red social de cocina? descubre y comparte recetas de cocina
TONIWEB, un programador web freelance