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

Ayuda con consulta SQL (mySQL) compleja

Estas en el tema de Ayuda con consulta SQL (mySQL) compleja en el foro de Mysql en Foros del Web. Hola, LLevo 2 días sin lograr esta consulta, podria alguien ayudarme por favor? Simplificando un poco tengo 2 tablas, de trabajadoras y empleadores de la ...
  #1 (permalink)  
Antiguo 25/06/2010, 19:22
 
Fecha de Ingreso: octubre-2008
Mensajes: 14
Antigüedad: 15 años, 6 meses
Puntos: 0
Ayuda con consulta SQL (mySQL) compleja

Hola,

LLevo 2 días sin lograr esta consulta, podria alguien ayudarme por favor?

Simplificando un poco tengo 2 tablas, de trabajadoras y empleadores de la siguente estructura:

Tabla trabajadoras: idTrabajadora (llave principal), campos, etc.
Tabla empleadores: idEmpleador (llave principal), campos, etc.

Ahora bien en otra tengo los labores que desean realizar las trabajadoras con la sigiente estructura:
Tabla trabajadoras_labores: id_tl (llave principal), idTrabajadora, idLabor

Asi se forman algo como una coleccion de labores deseados por la trabajadora con la simple consulta "select * from trabajadoras_labores where idTrabajadora = $idTrabajadora"

De la misma manera tengo en otra tabla las labores que los empleadores requieren de una trabajadora:
Tabla empleadores_labores: id_el (llave principal), idEmpleador, idLabor

Y de igual manera puedo consultar todos los labores requeridos por un empleador con la consulta "select * from empleadores_labores where idEmpleador = $idEmpleador"

Bueno resumiendo:
una trabajadora puede tener 0 a n labores en su tabla de labores y
un empleador puede tener 0 a n labores en su propia tabla de labores

Se trata de hacer coincidir los labores de las trabajadoras con los labores de los empleadores (son los mismos pero las trabajadoras se ofrecen y los empleadores lo requieren) pero en las siguiente condicion:

quiero obtener todos los empleadores que cuyos TODOS los labores que requiere estan siendo ofrecidos por la trabadora, aunque ella puede ofrecerse a mas, o sea si una trabajadora se ofrece a A + B y el empleador requiere A, o B, o A + B, el empleador califica pero no calificaria si el empleador requiere A + B + C ya que el C no esta ofrecido por la trabajadora. Lo que se busca son los empleadores (0 a n) que califican para una determinada trabajadora

por ejemplo si yo tengo una trabajadora que se ofrece para las labores de niñera + cocina (tiene 2 labores en su tabla de labores) debo obtener todos los empleadores que necesitan una trabajadora para niñera, o para cocina, o para ñiñera + cocina, pero no califica por ejemplo para un empleador que requiere cocina + cuidado de anciano (auque ambos comparten la cocina)

por tal motivo trate de aislar grupos y ver si se incluyen de la siguiente forma pero no lo he conseguido, me salen compariaciones a nivel de registros de labores pero no de "grupos de labores "

mi consulta que no funciona:

SELECT idempleador FROM
( SELECT idEmpleador, idLabor FROM (
SELECT idEmpleador, idLabor
FROM ag_trabajadoras_labores_deseados
INNER JOIN ag_empleadores_labores_requeridos
USING ( idLabor )
WHERE idTrabajadora =64
) AS sub1
) AS sub2
WHERE idLabor IN (
SELECT idLabor
FROM `ag_trabajadoras_labores_deseados`
WHERE idTrabajadora =64
) group by idempleador

bueno la consulta no arroja error pero trata los labores de forma unitaria y no por grupos, he probado monton de variantes y siempre me da lo mismo, o sea no tengo el resultado que necesito

Alguna idea ?

Gracias

Última edición por javier4999; 25/06/2010 a las 19:35
  #2 (permalink)  
Antiguo 28/06/2010, 14:29
Avatar de webness  
Fecha de Ingreso: enero-2009
Ubicación: BOGOTA
Mensajes: 312
Antigüedad: 15 años, 3 meses
Puntos: 5
Respuesta: Ayuda con consulta SQL (mySQL) compleja

quiero ayudarte pero no es que entienda de a mucho tu redaccion, le hechare unas cuantas leidas antes de respoderte algo, solo escribo pa que sepas que estoy pendiendente de tu caso
  #3 (permalink)  
Antiguo 28/06/2010, 16:19
 
Fecha de Ingreso: octubre-2008
Mensajes: 14
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Ayuda con consulta SQL (mySQL) compleja

Te lo agradezco sigo sin conseguirlo
  #4 (permalink)  
Antiguo 02/07/2010, 13:54
 
Fecha de Ingreso: octubre-2008
Mensajes: 14
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Ayuda con consulta SQL (mySQL) compleja

Asumo que si nadie a dado respuesta es porque quizas no se pueda?

Etiquetas: sql
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 23:42.