Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Duda con consulta

Estas en el tema de Duda con consulta en el foro de Mysql en Foros del Web. Hola tengo la siguiente consulta: SELECT RES_RESIDENCIA_ID FROM res_rel_residencias_servicios_disponibles WHERE RES_SERVICIO_DISPONIBLE_ID=6 OR RES_SERVICIO_DISPONIBLE_ID=7 aqui obtengo los resultados de los ids de las residencias que cumplan ...
  #1 (permalink)  
Antiguo 22/12/2009, 03:01
 
Fecha de Ingreso: enero-2009
Ubicación: acer aspire 5930g
Mensajes: 46
Antigüedad: 15 años, 3 meses
Puntos: 1
Duda con consulta

Hola

tengo la siguiente consulta:

SELECT RES_RESIDENCIA_ID FROM res_rel_residencias_servicios_disponibles WHERE RES_SERVICIO_DISPONIBLE_ID=6 OR RES_SERVICIO_DISPONIBLE_ID=7

aqui obtengo los resultados de los ids de las residencias que cumplan con el servicio 6 o con el servicio 7, hasta aqui correcto.

El problema viene cuando quiero obtener los resultados de los ids de las residencias que cumplan con el servicio 6 y ademas cumplan tambien con el servicio 7.

Pense que con poner esto daria resultado pero veo que no:

SELECT RES_RESIDENCIA_ID FROM res_rel_residencias_servicios_disponibles WHERE RES_SERVICIO_DISPONIBLE_ID=6 AND RES_SERVICIO_DISPONIBLE_ID=7

alguien puede echarme un cable? gracias
  #2 (permalink)  
Antiguo 22/12/2009, 04:23
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Duda con consulta

Piensa que un mismo registro no puede tener a la vez ambos res_servicio_disponible_id. Por eso tienes que buscar agrupando
Código SQL:
Ver original
  1. SELECT RES_RESIDENCIA_ID FROM res_rel_residencias_servicios_disponibles
  2.  WHERE RES_SERVICIO_DISPONIBLE_ID IN (6,7)
  3.  GROUP BY RES_RESIDENCIA_ID
  4.  HAVING COUNT(DISTINCT RES_SERVICIO_DISPONIBLE_ID) = 2
No lo he probado.
  #3 (permalink)  
Antiguo 22/12/2009, 04:26
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Duda con consulta

RES_SERVICIO_DISPONIBLE_ID No puede ser al mismo tiempo 6 y 7.

Código MySQL:
Ver original
  1. SELECT RES_RESIDENCIA_ID
  2. FROM (SELECT RES_RESIDENCIA_ID
  3. FROM res_rel_residencias_servicios_disponibles
  4. WHERE RES_SERVICIO_DISPONIBLE_ID=6
  5.             OR RES_SERVICIO_DISPONIBLE_ID=7) as Subc
  6. GROUP BY RES_RESIDENCIA_ID

Quim
  #4 (permalink)  
Antiguo 22/12/2009, 04:58
 
Fecha de Ingreso: enero-2009
Ubicación: acer aspire 5930g
Mensajes: 46
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Duda con consulta

Cita:
Iniciado por jurena Ver Mensaje
Piensa que un mismo registro no puede tener a la vez ambos res_servicio_disponible_id. Por eso tienes que buscar agrupando
Código SQL:
Ver original
  1. SELECT RES_RESIDENCIA_ID FROM res_rel_residencias_servicios_disponibles
  2.  WHERE RES_SERVICIO_DISPONIBLE_ID IN (6,7)
  3.  GROUP BY RES_RESIDENCIA_ID
  4.  HAVING COUNT(DISTINCT RES_SERVICIO_DISPONIBLE_ID) = 2
No lo he probado.
Muchas gracias, funciona!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:19.