Consulta basada en fechas de 2 tablas

Buenas noches amigo, espero y me puedas ayudar con esta duda que no me deja y que llevo ya tiempo queriendo resolver
La cosa es que tengo 2 tablas en access las cuales explico a continación:
La primera se trata sobre los grados académicos de maestros, en esta tabla un maestro puede aparecer varias veces, puesto que capturo si un maestro hizo licenciatura, maestría o doctorado, un ejemplo de esto seria el siguiente
Idmaestro Grado Académico Fecha de Titulación
1259 Licenciatura 01/05/2002
1259 Maestria 01/06/2007
1259 Doctorado 05/03/2010
Como ven en la tabla el maestro con clave 1259 tiene 3 registros para los 3 títulos que posee junto con la información de la fecha en que obtuvo ese titulo.
La segunda tabla que tengo es relacionada a inicio de contratos pongo 3 registros como ejemplo
IdMaestro Fecha inicio de Contrato Fecha de terminación
1259 01/04/2003 01/01/2006
1259 11/12/2011 15/03/2015
La consulta que quiero hacer quiero que me arroje la información de todos los contratos que ha habido de un cierto maestro pero que ademas me arroje al lado de las fechas de los contratos el nivel académico que tenia al momento de iniciado ese contrato.
Tomando en cuenta la segunda tabla la consulta que quiero hacer me arrojaría estos resultados:
IdMaestro Fecha inicio de Contrato Fecha de terminación Nivel Académico
1259 01 /04/2003 01/01/2006 Licenciatura
1259 11/12/2011 15/03/2015 Doctorado
Como pueden ver lo que quiero hacer es que la consulta me de todos los registros de la tabla contratos pero que me ponga una columna donde me ponga el nivel académico perteneciente a la fecha de inicio.
La razón de que en el primer registro debe devolver "licenciatura" es porque el contrato tiene inicio en el 2003 en cuya fecha el maestro era licenciado apenas pero en el contrato del año 2011 debe devolver doctorado porque el mismo maestro adquirió su doctorado en el 2010.
Si me pudieras ayudar estaría muy agradecido amigo :D

1 Respuesta

Respuesta
-1
Debes realizar una consulta a la base de datos
Algo como:
Select c.*, t.NivelAcademico from contratos c
inner join titulacion t ON t.Idmaestro = c.Idmaestro AND t.fechaTitulacion <= c.fechaTerminacion
Gracias por contestar, la consulta que me has dicho ia la había intentado y en efecto funciona pero, si por ejemplo un maestro viene 2 veces en la tabla grados académicos me va a devolver la consulta 2 REGISTROS de ese maestro es decir yo solo quiero que arroje el grado académico más reciente tendría que llevar la consulta algo de máximo ademas de <= pero no se como integrarlo a la consulta
Has un TOP 1 y ordena la consulta por fecha descendente así tienes la ultima fecha

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas