Access - URGENTE:CONSULTA FACILITA

 
Vista:

URGENTE:CONSULTA FACILITA

Publicado por montse (3 intervenciones) el 21/05/2003 19:24:10
Hola a todos,

creo q no es una consulta dificil pero no consigo sacarla.

tengo una tabla con los siguientes datos, id,fecha,estado.
para cada id tengo distintos registros con distintas fechas y estados, y quiero sacar como resultado cada id con su fecha y estado ultimo,

ejemplo:
id fecha estado
1 1/1/2001 a
2 1/1/2001 a
2 1/1/2003 b
2 1/1/2004 c
1 1/1/2002 b

resultado seria

1 1/1/2002 b
2 1/1/2004 c

La consulta que tengo es la siguiente

SELECT A.id, Max(A.fecha),estado
FROM tabla AS A
GROUP BY A.id, estado

y no me funciona, si le quito el estado si funciona pero necesito tb sacar esa informacion

que hago mal? como se hace?

estaria muy agradecida si alguien me pudiera ayudar
me urge

Gracias de antemano.



Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:URGENTE:CONSULTA FACILITA

Publicado por demo (233 intervenciones) el 21/05/2003 22:16:36
Hola
es problema es que tienes agrupados dos campos
id y estado ese es tu error
seria asi
id agrupado
fecha (ultimo) o (max)
estado (ultimo) o (Max)
nota
debes agrupar solo Id, para lograr agrupar solo un id
luego depende que quieres utilizas max o ultimo en los campos restantes
Saludos
Demo-Pablo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:URGENTE:CONSULTA FACILITA

Publicado por demo (233 intervenciones) el 21/05/2003 22:16:37
Hola
es problema es que tienes agrupados dos campos
id y estado ese es tu error
seria asi
id agrupado
fecha (ultimo) o (max)
estado (ultimo) o (Max)
nota
debes agrupar solo Id, para lograr agrupar solo un id
luego depende que quieres utilizas max o ultimo en los campos restantes
Saludos
Demo-Pablo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:URGENTE:CONSULTA FACILITA

Publicado por montse (3 intervenciones) el 21/05/2003 23:17:16
Gracias Pablo, pero yo se que el problema es que agrupo por los dos, pero es que si no lo hago, me da error la consulta por lo visto no puedo poner nada en el select q despues no agrupe

Yo primero probe asi

SELECT id,max(fecha),estado
FROM tabla
GROUP BY id

pero me da error por no estar estado en el group, por eso es mi problema

se te ocurre q pasa?

gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:URGENTE:CONSULTA FACILITA

Publicado por Victoria (1530 intervenciones) el 22/05/2003 00:53:21
Montse
Me tienes despistada
He creado tu tabla, he puesto tus valores, he hecho una consulta con tu sql de esta forma:

SELECT Id, Max(fecha.fecha) AS MáxDefecha, estado
FROM fecha
GROUP BY Id, estado;

no da error, pero, el resultado que me da no es el mismo que el tuyo:

Id MáxDefecha estado
1 01/01/01 a
1 01/01/02 b
2 01/01/03 b
2 01/01/04 c

Estoy intrigada

Un saludo
Victoria
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:URGENTE:CONSULTA FACILITA

Publicado por Luis Fernando Melo (323 intervenciones) el 22/05/2003 04:28:11
Hola la solución a tu problema es el siguiente SQL

select id, estado
from A
where (id,fecha) in ( select id,max(fecha) from A
group by id)

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:URGENTE:CONSULTA FACILITA

Publicado por demo (3 intervenciones) el 22/05/2003 05:58:36
Hola
tabla
id fecha estado
1 01/01/2001 a
1 01/01/2002 b
2 01/01/2001 a
2 01/01/2003 b
2 01/01/2004 c
/-----------------
SELECT Tabla1.id, Max(Tabla1.fecha) AS MáxDefecha, Last(Tabla1.estado) AS ÚltimoDeestado
FROM Tabla1
GROUP BY Tabla1.id;
ya me resulto
me dio
id MáxDefecha ÚltimoDeestado
1 01/01/2002 b
2 01/01/2004 c
-------------------
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:URGENTE:CONSULTA FACILITA

Publicado por demo (3 intervenciones) el 22/05/2003 05:58:36
Hola
tabla
id fecha estado
1 01/01/2001 a
1 01/01/2002 b
2 01/01/2001 a
2 01/01/2003 b
2 01/01/2004 c
/-----------------
SELECT Tabla1.id, Max(Tabla1.fecha) AS MáxDefecha, Last(Tabla1.estado) AS ÚltimoDeestado
FROM Tabla1
GROUP BY Tabla1.id;
ya me resulto
me dio
id MáxDefecha ÚltimoDeestado
1 01/01/2002 b
2 01/01/2004 c
-------------------
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:URGENTE:CONSULTA FACILITA

Publicado por Luis Fernando Melo S (323 intervenciones) el 23/05/2003 16:40:53
Hola la consulta que haces no te da siempre el resultado correcto por esos te recomiento usa la que te envié que siempre te va dar el resultado corrrecto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

gracias

Publicado por montse (3 intervenciones) el 23/05/2003 18:28:34
muchas gracias por vuestra ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar