Ver Mensaje Individual
  #4 (permalink)  
Antiguo 21/02/2013, 10:44
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: sql, and, and no me anda....

Depende de lo que busques.
si lo que quieres es que devuelva solamente los casos en que se cumple todos, hay dos formas básicas de hacerlo:
Código MySQL:
Ver original
  1. SELECT local_id, COUNT(DISTINCT actividades ) `cantidaddeactividades`
  2. FROM locales
  3. WHERE actividades IN(4, 7, 9)
  4. GROUP BY local_id
  5. HAVING COUNT(DISTINCT actividades)=3;

o bien probamos:
Código MySQL:
Ver original
  1. SELECT local_id, COUNT(DISTINCT actividades ) `cantidaddeactividades`
  2. FROM locales
  3. WHERE actividades IN ALL(4, 7, 9)
  4. GROUP BY local_id

Lo que no puede existir es un campo multivaluado, por lo que si la tabla "locales" contiene sólo un registro por local, actividades debe tener un único valor y por tanto ninguna consulta devolvería datos en ese contexto.
Si tu campo "actividades" contiene una lista de valores, desde ya te digo que es un error de los gravísimos, y además, te faltaría al menos una tabla.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)