Select top

26/08/2004 - 22:45 por Julio | Informe spam
Hola grupo

Tengo la siguiente tabla

Tabla A1


ClienteID fecha prueba

1 01/01/04 0.50
1 01/02/04 0.25
1 01/03/04 0.71
2 01/01/04 0.3
2 01/02/04 0.9
2 01/03/04 0.6

Como puedo hacer una vista que me devuelva las ultimas dos fechas por
clientes
 

Leer las respuestas

#1 MAXI
27/08/2004 - 02:18 | Informe spam
Hola, si solo te importan las fechas y suponiendo que si hay empates vale la
ultima, podrias aplicar algo asi como:

CREATE TABLE #PEPE (ID INT, FECHA DATETIME)

INSERT INTO #PEPE VALUES (1,GETDATE())
INSERT INTO #PEPE VALUES (1,GETDATE()+1)
INSERT INTO #PEPE VALUES (1,GETDATE()+2)
INSERT INTO #PEPE VALUES (2,GETDATE())


SELECT PEP1.ID, PEP1.FECHA AS ULTIMA, (SELECT MAX(FECHA) FROM #PEPE PEP2
WHERE
PEP2.FECHA < PEP1.FECHA AND PEP1.ID = PEP2.ID) AS ANTEULTIMA

FROM (select id,max(fecha) as fecha from #PEPE group by id)
PEP1


Suerte




Maxi

Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)
Mail: Maxi_accotto[arroba]speedy.com.ar
Msn Messager:

"Julio" escribió en el mensaje
news:
Hola grupo

Tengo la siguiente tabla

Tabla A1


ClienteID fecha prueba

1 01/01/04 0.50
1 01/02/04 0.25
1 01/03/04 0.71
2 01/01/04 0.3
2 01/02/04 0.9
2 01/03/04 0.6

Como puedo hacer una vista que me devuelva las ultimas dos fechas por
clientes


Preguntas similares