| |||
| Consulta no coincidentes Buenas tardes, no consigo realizar una consulta para buscar los datos que están en una tabla, pero no en la otra. Tengo una tabla con un listado de consultores, identificados por un Id único. Tengo otra tabla donde estos consultores reportar los trabajos que van realizando y en esa tabla se guarda el identificador único del consultor para ver quién lo ha realizado. Quiero hacer una consulta que me saque un listado de los consultores que no han introducido datos en la tabla de trabajos. Es decir que busque los que sí han introducido datos y compare el listado con la tabla de consultores y me devuelva los que no coinciden. Dejo algunos intentos que he hecho. Si es necesario pongo la estructura de las tablas. Primer intento
Código:
Segundo intento SELECT consultores.consultor AS consultor FROM consultores LEFT JOIN trabajos ON consultores.Ident_consultor = trabajos.consultores_Ident_consultor WHERE (((trabajos.f_inicio)>='$fechainicio' And (trabajos.f_inicio)<='$fechafin'));
Código:
Tercer intentoSELECT consultores.Ident_consultor, consultores.consultor AS consultor, trabajos.f_inicio, trabajos.f_fin, trabajos.consultores_Ident_consultor FROM consultores, trabajos WHERE consultores.Ident_consultor NOT IN (select trabajos.consultores_Ident_consultor trabajos WHERE ((consultores.Ident_consultor = trabajos.consultores_Ident_consultor) AND (trabajos.f_inicio)>='$fechainicio' And (trabajos.f_inicio)<='$fechafin'));
Código:
Gracias y un saludo! SELECT consultores.consultor from consultores, trabajos WHERE (((consultores.Ident_consultor = trabajos.consultores_Ident_consultor) AND (trabajos.consultores_Ident_consultor IS NULL)) AND ((trabajos.f_inicio)>='$fechainicio' And (trabajos.f_inicio)<='$fechafin')) ; |
| |||
| Respuesta: Consulta no coincidentes Primer intento corregido (supongo que tienes un idTrabajos)
Código MySQL:
Ver originalCopiar Segundo intento, corregido
Código MySQL:
Ver originalCopiar Tercer intento
Código MySQL:
Ver originalCopiar No se puede corregir consultores.Ident_consultor = trabajos.consultores_Ident_consultor AND trabajos.consultores_Ident_consultor IS NULL Si A=B y B es nulo Luego A es nulo como A es PK de una tabla nunca puede ser nulo.... Aquí intentabas la misma solucion que en el primero pero sin el LEFT JOIN y buscando nulos donde no los puede haber....
__________________ Quim -------------------------------------------------- Como a Mafalda, no me gusta la SOPA... |
| |||
| Respuesta: Consulta no coincidentes Si la primera ahora que la reviso no esta bien puesto que la restriccion de fecha y la de nullo juntas no tienen sentido.
__________________ Quim -------------------------------------------------- Como a Mafalda, no me gusta la SOPA... |