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

buscar datos que coincidan con array de opciones

Estas en el tema de buscar datos que coincidan con array de opciones en el foro de Mysql en Foros del Web. necesito buscar en un tabla los IDs que coincidan con un array de opciones. tengo una tabla q se llama empresas_servicios donde necesito buscar en ...
  #1 (permalink)  
Antiguo 01/03/2011, 19:51
 
Fecha de Ingreso: febrero-2011
Ubicación: Capital federal
Mensajes: 16
Antigüedad: 13 años, 2 meses
Puntos: 1
Pregunta buscar datos que coincidan con array de opciones

necesito buscar en un tabla los IDs que coincidan con un array de opciones.

tengo una tabla q se llama empresas_servicios donde necesito buscar en ella todos los IDs de empresas que coincidan con una cantidad grande de servicios.

por ejemplo tildo varios checkboxs en un formulario donde estan los servicios como:

delivery, pago en efectivo, tarjetas de credito, tickets, etc

y necesito q me devuelva todos aquellos q tenga esos servicios seleccionados.

el problema q tengo es q me trae varias empresas q quizas tienen delivery, pero no tienen tickets o pago en efectivo.

la consulta la estoy haciendo con un IN()
SELECT * FROM servicios_empresas WHERE id_servicio IN ($serviciosrecibidos) GROUP BY id_empresa
  #2 (permalink)  
Antiguo 02/03/2011, 11:50
 
Fecha de Ingreso: marzo-2010
Mensajes: 68
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: buscar datos que coincidan con array de opciones

hola, disculpa que te responda con otra pregunta, pero es para estar más claro! tu quieres que las empresas devueltas presten al menos uno de los servicios seleccionados, ó que las empresas devueltas sean aquellas que presten TODOS los servicios seleccionados..

EN LA PRIMERA OPCION:
*una empresa puede venir con el servicio de "tickets" pero no el de "targeta de credito"
EN LA SEGUNDA OPCION:
*la empresa debe tener tanto el servicio de "tickets" como el de "targeta de credito", de lo contrario no muestro dicha empresa..

cual de las dos opciones buscas???...
  #3 (permalink)  
Antiguo 02/03/2011, 14:33
 
Fecha de Ingreso: febrero-2011
Ubicación: Capital federal
Mensajes: 16
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: buscar datos que coincidan con array de opciones

Hola ya lo pude solucionar, lo que necesitaba es que me traiga las q cumplan con todos los servicios seleccionados.

lo solucione de esta forma.

Solucionado!!

SELECT id_empresa FROM dir_empresas WHERE EXISTS (SELECT id_empresa FROM dir_servicios_empresa WHERE dir_servicios_empresa.id_empresa = dir_empresas.id_empresa AND dir_servicios_empresa.id_servicio = $idserviciorecibido1) AND EXISTS (SELECT id_empresa FROM dir_servicios_empresa WHERE dir_servicios_empresa.id_empresa = dir_empresas.id_empresa AND dir_servicios_empresa.id_servicio = $idserviciorecibido2)

y asi sucesivamente de acuerdo la cantidad de servicios q recibia

es decir por cada servicio q llego desde el formulario de consulta voy agregando

..........AND EXISTS (SELECT id_empresa FROM dir_servicios_empresa WHERE dir_servicios_empresa.id_empresa = dir_empresas.id_empresa AND dir_servicios_empresa.id_servicio = $idserviciorecibidoX)..........

gracias igualmente!
  #4 (permalink)  
Antiguo 02/03/2011, 14:57
 
Fecha de Ingreso: marzo-2010
Mensajes: 68
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: buscar datos que coincidan con array de opciones

ah pues fue buena idea, suerte!!

Etiquetas: coincidencias, in(), múltiple, opciones
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 13:19.