Consulta con fecha máxima y situación correspondiente

Tengo una consulta con los siguientes campos:
numero_registro, fecha_situacion1, des_situacion2, fecha_situacion3, des_situacion3, fecha_situacion4, des_situacion4
Lo que quiero es obtener una consulta con solo tres campos para cada uno de los registros:
numero_registro 
Fecha_situacion : Aquí la mayor de las 4 fechas
des_situacion: la situación correspondiente a la fecha mayor

1 respuesta

Respuesta
1
Aquí tienes un ejemplo de como por definir mal una tabla luego es muy difícil sacar el dato. Tienes que crear una consulta de union, que dicho sea de paso es la que deberías tener como tabla, de esta forma:
select numero_registro, fecha_situacion1 as fecha, des_situacion1 as sit where fecha_situacion1 is not null
union
select numero_registro, fecha_situacion2 as fecha, des_situacion2 as sit where fecha_situacion2 is not null
union
select numero_registro, fecha_situacion3 as fecha, des_situacion3 as sit where fecha_situacion3 is not null
union
select numero_registro, fecha_situacion4 as fecha, des_situacion4 as sit where fecha_situacion4 is not null
Salvas esta consulta, (p.e. cst1). Ahora con esta consulta haces otra de datos agregados con los campos
numero_registro fecha
Agrupar por máximo
Salvas esta consulta como cst2. Vuelves a crear una consulta nueva con cst2 y cst1 uniéndolas por numero de registro y fecha y ya lo tienes.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas