none
Mostrar último registro de cada proceso en una tabla RRS feed

  • Pregunta

  • Buenas tardes tengan ustedes,

    Quisiera saber si me pudieran apoyar con una consulta, resulta que tengo una tabla con diferentes registros como se muestra a continuación:

    Como se puede apreciar en la tabla hay tres diferentes tipos de Id_Proceso (7,8 y 13), mi consulta es como podría obtener el último registro de cada proceso, es decir, el último registro del proceso 7, el último del proceso 8 y el último del proceso 13. Al final del día me tiene que quedar de esta manera:

    Les agradezco mucho la ayuda que me puedan proporcionar. 

    Saludos a todos.


    Carlos David Frias

    lunes, 27 de noviembre de 2017 23:11

Respuestas

  • Puedes ocupar funciones de ventana (window function), por ejemplo:

    WITH T AS
    (
        SELECT 
    	   Id, Id_Proceso, Fecha_Insert, /*ColX, ColY, ...*/
    	   ROW_NUMBER() OVER(PARTITION BY Id_Proceso ORDER BY Fecha_Insert DESC) AS r
        FROM dbo.TableName
    )
    SELECT Id, Id_Proceso, Fecha_Insert FROM T WHERE r = 1;
    GO

    martes, 28 de noviembre de 2017 0:00

Todas las respuestas

  • Puedes ocupar funciones de ventana (window function), por ejemplo:

    WITH T AS
    (
        SELECT 
    	   Id, Id_Proceso, Fecha_Insert, /*ColX, ColY, ...*/
    	   ROW_NUMBER() OVER(PARTITION BY Id_Proceso ORDER BY Fecha_Insert DESC) AS r
        FROM dbo.TableName
    )
    SELECT Id, Id_Proceso, Fecha_Insert FROM T WHERE r = 1;
    GO

    martes, 28 de noviembre de 2017 0:00
  • Muchísimas gracias por tu ayuda, me ha servido a la perfección!!

    Gracias por tu tiempo y colaboración. Te envio un saludo


    Carlos David Frias

    martes, 28 de noviembre de 2017 18:32