Oracle - Comparacion entre datos de la misma tabla.

 
Vista:
sin imagen de perfil

Comparacion entre datos de la misma tabla.

Publicado por Jesus (1 intervención) el 07/05/2020 19:00:18
Tengo la siguiente tabla:

Fecha Cuenta Estatus
02/05/20 345 1
02/05/20 345 9
03/05/20 678 4
03/05/20 345 3
03/05/20 345 8

Lo que necesito es:

1. Obtener solo los valores con estatus 1 4 y 9
2. Validar si existen dos de estos valores en la misma fecha, si es asi obetener el registro con el estatus mas alto.

Por ejemplo.

Fecha Cuenta Estatus

03/05/20 678 4
03/05/20 345 3
03/05/20 345 8

En esa fecha hay dos valores 4 y 8 de esos tendria que obtener solo el 8. La salida final del registro tendria que ser:

Fecha Cuenta Estatus

02/05/20 345 1
03/05/20 345 8

Cabe mencionar que esta es una subconsulta. Hasta el momento he llegado hasta este query.

1
2
3
4
5
Select fecha, cuenta, estatus
From  cuentas
Group by fecha, cuenta, estatus
Having max(estatus) in (1,4,8)
Order by cuenta.

Con eso he logrado obtener solo los valores 1, 4 y 8 pero aun no logro obtener el mas alto en el caso de que haya dos valores con la misma fecha. Muchas gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder