Ver Mensaje Individual
  #4 (permalink)  
Antiguo 07/09/2015, 07:32
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.322
Antigüedad: 12 años, 1 mes
Puntos: 2654
Respuesta: SELECT selecion estricta

Cita:
que tenga (76 OR 64 )en id_services y lo que necesito es que me devuelva los id_establishment que contengan (76 AND 64) en id_services estrictamente
Por lo pronto, partamos de la base que no puedes obtener registros que tengan ambos valores al mismo tiempo, ya que una columna no puede tener N valores diferentes del mismo datos (campo multivaluado).
Asumo que te estás refiriendo a que necesitas los id_establishment que corresponden a establecimientos que brindan AMBOS servicios, no uno u otro.

Bueno, la cosa es relativamente simple, y si lo que necesitas es sólo los ID, ni siquiera necesitas hacer un INNER JOIN, ni JOIN de ningún tipo...
Código MySQL:
Ver original
  1. SELECT xre.`id_establishment` , COUNT(DISTINCT xre.`id_services`) Servicios
  2.     FROM `cfx_hotel_establishment_services` xre
  3.     WHERE xre.`id_services` IN(76 , 64)
  4. GROUP BY xre.`id_establishment`
  5. HAVING COUNT(DISTINCT xre.`id_services`) = 2
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)