Selección de Fecha máxima


([N1] stejon) #1

Muy buenas,

 

Tengo un histórico de estados para cada uno de los clientes. Para ello tengo una tabla intermedia, que hace una relación de muchos a muchos entre los clientes y los tipos de estados, con un campo Fecha/Hora. 

 

Necesitaría obtener el último estado de un cliente dado. Para ello debería seleccionar la Fecha Máxima de los estados de ese cliente. ¿Alguno conoce el método o procedimiento necesario para hacerlo?

 

He intentado encontrar una solución mediante un puntero virtual (singular de plural por índice, indirecto virtual, etc...) en la tabla de clientes que apunte a la intermedia. A mi parecer creo que es la solución más interesante. 

 

En el caso del uso de un puntero indirecto virtual, tras crear el índice único en la tabla intermedia con las partes de índice de ID_CLIENTE y FECHA, a la hora de especificar los parámetros de relación del puntero, puedo indicar cómodamente el ID del cliente pero no he podido con la fecha en la que habría que indicar la FECHA MÁXIMA del conjunto de estados de ese CLIENTE y así apuntar al estado actual.

 

Muchísimas gracias por todo,

 


([N1] comercial) #2

Hola. Esa es una manera, sigue por ahí, también tienes otra, pon un campo estado en el cliente y una actualización en la table histórica que actualiza ese campo cada vez que cambie , esta manera es mas rápida en las rejillas vista clientes.


([N1] stejon) #3

Muchas gracias por la respuesta, pero, si optara por la primera opción ¿sabrías la forma de Seleccionar la fecha MAXIMA de un conjunto de registros relacionados con otro tabla mediante un ID de cliente común?

 

Voy a estudiar la segunda opción que propones,

 

Muchas gracias.


([N1] stejon) #4

Muy buenas,

 

Ya he conseguido lo que quería, he utilizado un índice singular de plural.

 

Se añade al índice del plural de la tabla clientes una parte de índice para la fecha y se pone como clave única. Con esto se puede crear un puntero virtual de singular de plural que apunte al índice único modificado donde FECHA sea IGUAL o MENOR que currentDateTime().

 

Muchísimas gracias,


([N1] comercial) #5

Hola. Correcto, aunque yo siempre prefiero una actualización sobre un puntero, lo veo mejor, en fin son puntos de vista.

 

Saludos.

  Miguel.