Novato proviniente de M Access 2003 ?¿?

19/04/2007 - 18:20 por dgironal | Informe spam
Muy buenas, reconozco que soy NOVATO total, ¿es posible realizar la
siguiente consulta en Microsoft SQL Server 2000?

SELECT
id,
LAST(campo)

FROM
[Vista Ordenada por id]

GROUP BY ID

Gracias de antemano

Nota: Microsoft Access 2003 incorpora la función LAST, pero SQL Server 2000
No ¿Cómo simularla?

Preguntas similare

Leer las respuestas

#6 dgironal
19/04/2007 - 19:40 | Informe spam
Voy a ser más explícito:

Tabla
id grupo fecha texto

Ejemplo

1 grupo1 01/01/2007 David
2 grupo2 01/01/2007 Pepe
3 grupo3 02/01/2007 Juan
4 grupo1 03/01/2007 Texto que remplaza a David
5 grupo1 04/01/2007 Otro texto nuevo
6 grupo2 05/01/2007 Texto que reemplaza a Pepe

La consulta debería devolver:

5 grupo1 04/01/2007 Otro texto nuevo
6 grupo2 05/01/2007 Texto que reemplaza a Pepe
3 grupo3 02/01/2007 Juan

Creo que se entiende ¿?¿, ¿Cómo sería la consulta?
Respuesta Responder a este mensaje
#7 dgironal
19/04/2007 - 19:49 | Informe spam
Otra puntualización IMPORTANTE:

Viendo los registros originales de la tabla, sin conocer el id, no sabría
"el último" registro insertado (no almaceno la hora, sólo la fecha) de un
mismo grupo, pero a través del id sé el último registro insertado
perteneciente al grupo

23 grupo1 1/1/2007 A
37 grupo1 1/1/2007 B
44 grupo1 1/1/2007 C

la consulta para este grupo debería devolver:

44 grupo1 1/1/2007 C

y así para todos los grupos
Respuesta Responder a este mensaje
#8 Federico A Colli
19/04/2007 - 20:10 | Informe spam
Bien, la consulta no es tan simple porque además de devolver el último,
necesitas devolver el último de CADA grupo, ese es otro tema.
Esto me funciona Ok, siendo Tabla1 tu vista o lo que desees.

SELECT Tabla1.id, Tabla1.grupo, Tabla1.fecha
FROM Tabla1
WHERE id = (SELECT TOP 1 id
FROM Tabla1 T
WHERE Tabla1.grupo = T.grupo
GROUP BY T.grupo, T.id, T.fecha
ORDER BY T.grupo, T.fecha DESC, T.id DESC)


Saludos
- Carpe diem, tempus fugit
- El hombre sabio no da las respuestas correctas, propone las preguntas
correctas. (Claude Levi-Strauss)
- La sabiduría no es un producto de la educación sino de toda una vida por
adquirirla. (Albert Einstein)
- El sabio puede sentarse en un hormiguero, pero sólo el necio se queda
sentado en él. (Proverbio chino)

AUS Federico A. Colli


"dgironal" escribió en el mensaje
news:
Otra puntualización IMPORTANTE:

Viendo los registros originales de la tabla, sin conocer el id, no sabría
"el último" registro insertado (no almaceno la hora, sólo la fecha) de un
mismo grupo, pero a través del id sé el último registro insertado
perteneciente al grupo

23 grupo1 1/1/2007 A
37 grupo1 1/1/2007 B
44 grupo1 1/1/2007 C

la consulta para este grupo debería devolver:

44 grupo1 1/1/2007 C

y así para todos los grupos


Respuesta Responder a este mensaje
#9 dgironal
19/04/2007 - 21:44 | Informe spam
Muchísimas gracias por sus aportaciones, voy a probarlo y os comento algo,
pero insisto, gracias por su tiempo.
Respuesta Responder a este mensaje
#10 dgironal
19/04/2007 - 21:55 | Informe spam
además de devolver el último, necesitas devolver el último de CADA grupo
EFECTIVAMENTE.

Tú propuesto funciona, y abusando de todos vosotros, ¿dónde colocariais la
condición WHERE para filtrar ciertos registros por fecha, dónde sería más
eficiente?
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida