Buenas generando los archivos para Araucano “Información Nominal de Estudiantes a SIU-Araucano” y “Información Nominal de Estudiantes a SIU-Araucano” pudimos observar que el datos procedencia_localidad no lo estaba recuperando.
Cuando vamos a los datos del alumno, podemos ver que los datos de localidad están cargados (tanto de Periodo Lectivo como de Procedencia) entonces verifiocamos la conmsulta que genera estos archivos y pudimos observar que trae los datos de la tabla his_datos_personales. En esta tabla, este alumno tiene 20 registros en donde los datos de la localidad recien aparecen en los últimos 5.
Por lo tanto pudimos ver que está recuperando de manera errónea el dato del PRIMER registro cuando debería ser del ÚLTIMO.
Esto es así o hay algo que no estamos teniendo en cuenta?
La idea es identificar si te esta trayendo el ultimo dato censal de la persona o no, porque no recupera el primero sino el que coincide con el dato censal que seria el ultimo dato actualizado…
Toma el id de la persona del caso identificado:
La forma de identificar el ultimo dato es por medio de esta consulta:
SELECT dato_censal FROM mdp_datos_censales
WHERE persona = pPersona
Podrias decirme si ese dato_censal coincide con el dato censal que esta recuperando la consulta del araucano?
Tomando este caso tendrías que tomar cual es el valor del dato_censal_personal y cargarlo en la siguiente consulta:
SELECT hp.dato_censal FROM his_datos_personales as hp, int_arau_nominal_alumnos as ian
WHERE ian.dato_censal_personal = hp.dato_censal_per AND
hp.dato_censal_per = DATODEEJEMPLO
Si coinciden esta tomando el ultimo dato cargado por el alumno , al momento de realizar la consulta.
@Orcajo_Angela_María te comento, hice la consulta que me comentaste y cuando recupero los datos de la segunda consulta pasando como dato de filtro el dato_censal de la primer consulta, NO me devuelve nada.
1- SELECT dato_censal FROM mdp_datos_censales
WHERE persona = 271096;
2-SELECT hp.dato_censal FROM his_datos_personales as hp, int_arau_nominal_alumnos as ian
WHERE ian.dato_censal_personal = hp.dato_censal_per AND
hp.dato_censal_per = 305925
Por lo que vemos la tabla int_arau_nominal_alumnos no tiene el dato censal.
Te comento que es lo que vimos, al hacer las siguientes consultas
select * from vw_personas where nro_documento =‘XXXXXXXXX’;
select * from mdp_datos_censales mdc where mdc.persona = 271096;
select * from mdp_datos_personales mdp where mdp.dato_censal = 305925;
select * from his_datos_personales where dato_censal =305925;
Al hacer el último select pudimos ver que los registros con fecha más cercana a la actual, si tienen el dato cargado, pero los primeros registros tienen NULL (son como 20 registros).
Para hacer una prueba cargamos el primer registro (o sea el más viejo en cuanto a fecha) con el dato de localidad y la consulta ahora SI devuelve el dato. Por esto es lo que comentaba en un principio.
Lo voy a consultar con parte del equipo y te comento, porque para mi el problema esta que el dato censal personal de la tabla int_arau_nominal_alumnos no te haga coincidir con un dato censal de la tabla his_datos… te esta pasando con todos los alumnos, no?