Obtener primer y ultimo registro de un conjunto de resultados

14/11/2005 - 15:14 por Sergio Rodriguez | Informe spam
Tengo los siguientes datos:

id_docto folio nombre fecha_mod
codigo
001 10 CAS 18/01/2005 13:01 65
001 10 ALS 18/01/2005 15:20 65
001 10 CTG 19/01/2005 09:00 65
004 85 SAM 13/05/2005 09:25 65
004 85 CTG 13/05/2005 11:20 65
004 85 DFG 13/05/2005 18:54 65


Com puedo generar una consulta que me de lo siguiente:

id_docto folio UsrPrimeraMod UsrUltimaMod FechaPrimMod
FechaUltMod codigo
001 10 CAS ALS
18/01/2005 13:01 19/01/2005 09:00 65
004 85 SAM DFG
13/05/2005 09:25 13/05/2005 18:54 65

Quise ver si SQL Server tiene las funciones equivalentes en acces First y
Last para realizar la siguiente consulta:

select a.id_docto, a.folio,first(nombre) as UsrPrimeraMod, last(nombre) as
UsrUltimaMod, first(a.fecha) as FechaPrimMod, last(a.fecha) as FechaUltMod,
a.codemp
from tabla a
where codempe
group by a.id_docto,a.folio,a.codemp
order by a.id_docto,folio

Como realizarlo en SQL??
 

Leer las respuestas

#1 Alejandro Mesa
14/11/2005 - 15:31 | Informe spam
Sergio Rodriguez,

Las fiunciones FIRST y LAST no forman parte de T-SQL, pero pueden ser
simuladas si nos dices cual criterio a usar para identificar la primera y
ultima fila del grupo. Chequea la sentencia "select" en los libros en linea y
especialmente la parte sobre agrupacion y funciones de grupo como MIN y MAX.


AMB


"Sergio Rodriguez" wrote:

Tengo los siguientes datos:

id_docto folio nombre fecha_mod
codigo
001 10 CAS 18/01/2005 13:01 65
001 10 ALS 18/01/2005 15:20 65
001 10 CTG 19/01/2005 09:00 65
004 85 SAM 13/05/2005 09:25 65
004 85 CTG 13/05/2005 11:20 65
004 85 DFG 13/05/2005 18:54 65


Com puedo generar una consulta que me de lo siguiente:

id_docto folio UsrPrimeraMod UsrUltimaMod FechaPrimMod
FechaUltMod codigo
001 10 CAS ALS
18/01/2005 13:01 19/01/2005 09:00 65
004 85 SAM DFG
13/05/2005 09:25 13/05/2005 18:54 65

Quise ver si SQL Server tiene las funciones equivalentes en acces First y
Last para realizar la siguiente consulta:

select a.id_docto, a.folio,first(nombre) as UsrPrimeraMod, last(nombre) as
UsrUltimaMod, first(a.fecha) as FechaPrimMod, last(a.fecha) as FechaUltMod,
a.codemp
from tabla a
where codempe
group by a.id_docto,a.folio,a.codemp
order by a.id_docto,folio

Como realizarlo en SQL??



Preguntas similares