SQL - Consulta SQL

 
Vista:

Consulta SQL

Publicado por Amparo (3 intervenciones) el 15/09/2008 19:52:40
Hola foristas.
Necesito ayuda con la siguiente consulta, la cual la muestro con un ejemplo.
Tengo una tabla con los siguientes atributos A1, A2, A3 y A4

A1 A2 A3 A4 Filas
10 $ 10 1/1/08 1
10 $ 200 1/5/08 2
10 $ 100 1/9/08 3
20 $ 25 1/2/08 4
20 U$S 10 1/3/08 5
20 U$S 1 1/5/08 6
20 $ 21 1/4/08 7

necesito hacer una consulta que me devuelta las filas 3 y 6. Las filas de mayor fecha agrupado por los atributos A1 y A2 pero con todos los datos de la fila.

El Atributo A1 también es clave de otra tabla.

Desde ya muchas gracias
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:Consulta SQL

Publicado por Amparo (3 intervenciones) el 15/09/2008 20:46:36
Hola
Me falto decirles que la consulta la estoy haciendo por el analizador de consultas y no por programa.
Desde ya muchas 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:Consulta SQL

Publicado por Angeles (12 intervenciones) el 18/09/2008 14:12:12
La solucción es la misma que le he dado a Juan Pablo.

Saludos, angeles
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:Consulta SQL

Publicado por Amparo  (3 intervenciones) el 18/09/2008 15:10:44
Angeles, no tengo ninguna respuesta de Juan Pablo, te agradezco si me la escribis.
Gracias, Amparo
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:Consulta SQL

Publicado por Angeles (12 intervenciones) el 19/09/2008 09:26:12
Tienes que hacer dos consultas:

Primero agrupas y calculas la fecha máxima. Consulta1:

SELECT Tabla1.a1, Max(Tabla1.a3) AS MáxDea3
FROM Tabla1
GROUP BY Tabla1.a1;

después vinculas esta consulta con la tabla para obtener todos los campos.

Consulta2:

SELECT Tabla1.a1, Tabla1.a2, Tabla1.a3, Tabla1.a4
FROM Tabla1 INNER JOIN Consulta1 ON (Tabla1.a3 = Consulta1.MáxDea3) AND (Tabla1.a1 = Consulta1.a1);

Saludos, Angeles
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