No repetir registros en consulta por fecha máxima
Todos/as
Tenga una bbdd de personal para controlar una remuneración mensual.
Necesito que en una consulta me salga la ultima modificación de este complemento.
Realiza la consulta por fecha máx pero en el momento que añado más campos me salen varios registros de una misma persona.
La consulta se basa en dos tablas una de datos personales y otra de las modificaciones, relacionados en base al DNI.
La consulta en SQL es esta
select distinct cde.dni, [apellido 1] & " " & [apellido 2] & ", " & [nombre] as [apellidos y nombre], max(cde.fecha) as máxdefecha, cde.modulo, cde.motivo, cde.observaciones
from [nombre+dni] inner join cde on [nombre+dni].dni = cde.dni
group by cde.dni, [apellido 1] & " " & [apellido 2] & ", " & [nombre], cde.modulo, cde.motivo, cde.observaciones, [nombre+dni].[apellido 1], [nombre+dni].[apellido 2], [nombre+dni].nombre;
Así no me discrimina el ultimo valor de fecha, pero si elimino los campos de MODULO, OBSERVACIONES Y MOTIVO si que me aparece tan solo el ultimo registro de cada DNI.
select distinct cde.dni, [apellido 1] & " " & [apellido 2] & ", " & [nombre] as [apellidos y nombre], max(cde.fecha) as máxdefecha
from [nombre+dni] inner join cde on [nombre+dni].dni = cde.dni
group by cde.dni, [apellido 1] & " " & [apellido 2] & ", " & [nombre], [nombre+dni].[apellido 1], [nombre+dni].[apellido 2], [nombre+dni].nombre;
Ando un poco perdido, así que agradecería cualquier ayuda.
He tenido que cambiar las mayúsculas a minúsculas de la consulta SQL, porque si no no me dejaba publicar la pregunta ;).
Tenga una bbdd de personal para controlar una remuneración mensual.
Necesito que en una consulta me salga la ultima modificación de este complemento.
Realiza la consulta por fecha máx pero en el momento que añado más campos me salen varios registros de una misma persona.
La consulta se basa en dos tablas una de datos personales y otra de las modificaciones, relacionados en base al DNI.
La consulta en SQL es esta
select distinct cde.dni, [apellido 1] & " " & [apellido 2] & ", " & [nombre] as [apellidos y nombre], max(cde.fecha) as máxdefecha, cde.modulo, cde.motivo, cde.observaciones
from [nombre+dni] inner join cde on [nombre+dni].dni = cde.dni
group by cde.dni, [apellido 1] & " " & [apellido 2] & ", " & [nombre], cde.modulo, cde.motivo, cde.observaciones, [nombre+dni].[apellido 1], [nombre+dni].[apellido 2], [nombre+dni].nombre;
Así no me discrimina el ultimo valor de fecha, pero si elimino los campos de MODULO, OBSERVACIONES Y MOTIVO si que me aparece tan solo el ultimo registro de cada DNI.
select distinct cde.dni, [apellido 1] & " " & [apellido 2] & ", " & [nombre] as [apellidos y nombre], max(cde.fecha) as máxdefecha
from [nombre+dni] inner join cde on [nombre+dni].dni = cde.dni
group by cde.dni, [apellido 1] & " " & [apellido 2] & ", " & [nombre], [nombre+dni].[apellido 1], [nombre+dni].[apellido 2], [nombre+dni].nombre;
Ando un poco perdido, así que agradecería cualquier ayuda.
He tenido que cambiar las mayúsculas a minúsculas de la consulta SQL, porque si no no me dejaba publicar la pregunta ;).
1 respuesta
Respuesta
1