SQL - Cosultar ultima venta de mis clientes

   
Vista:

Cosultar ultima venta de mis clientes

Publicado por Lewis (3 intervenciones) el 13/02/2013 20:14:48
Consultar la última venta de mis clientes

Tengo dos tablas, una para registrar las ventas y para registrar los clientes.

Tabla Ventas
IDRegistroV IDClientes NumVenta FechaVenta
01 1 1 01/02/2013
02 2 2 01/02/2013
03 1 3 04/02/2013
04 3 4 04/02/2013
05 2 5 05/02/2013


Tabla Clientes
IDRegistroC IDCliente NomCliente
01 1 Juan Perez
02 2 Marcos Diaz
03 3 Juan de los Palotes


Lo que necesito es lo siguiente: quiero consultar la última venta de mis clientes, he intentado agrupar los resultados, pero a estos se les cambia el orden
Lo que espero ver es lo siguiente, sea con un query o procedimiento.
IDRegistroV IDClientes NumVenta FechaVenta
03 1 3 04/02/2013
05 2 5 05/02/2013
04 3 4 04/02/2013
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
Imágen de perfil de xve

Cosultar ultima venta de mis clientes

Publicado por xve (238 intervenciones) el 13/02/2013 20:29:59
Hola Lewis, lo que creo que tienes que hacer primer es el select ordenado, y luego hacer el group by... algo así:

1
2
3
select * from
(SELECT * FROM `Ventas` order by `FechaVenta` DESC) t1
group by `IDClientes`


Coméntanos, ok?
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
Imágen de perfil de Isaias

Cosultar ultima venta de mis clientes

Publicado por Isaias (691 intervenciones) el 13/02/2013 21:42:54
Si fuera SQL SERVER, existen otra alternativa, utilizando MAX() por tu campo fecha y agrupado por cliente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Cosultar ultima venta de mis clientes

Publicado por Lewis (3 intervenciones) el 14/02/2013 15:37:31
Hola, lo estoy realizando en SQL Server 2005, este es el query utilizando max

select * from
(Select max(FechaVenta) from Ventas) T1
group by IDClientes

me muestra este error.

Msg 8155, Level 16, State 2, Line 1
No column was specified for column 1 of 'T1'.
Msg 207, Level 16, State 1, Line 3
Invalid column name 'IDClientes'.
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

Cosultar ultima venta de mis clientes

Publicado por leonardo_josue (880 intervenciones) el 14/02/2013 16:30:26
Hola Lewis:

Creo que valdría la pena que comenzaras por leer cualquier manual de SQL tienes varios errores en tu consulta, aunque al que hace referencia es que que el campo IDClientes no existe en tu tabla derivada (T1).

La consulta que pides es básica, me sorprende que no hayas encontrado ningún ejemplo que te sirviera de ejemplo. para empezar, lo que te comenta Isaías, sería esto:

1
SELECT idCliente, MAX(FechaVenta)  FROM ventas GROUP BY idCliente


Eso te dará como resultado:

1
2
3
4
IDClientes FechaVenta
1	   04/02/2013
2	   05/02/2013
3	   04/02/2013


A partir de esta consulta, filtras la información de tu tabla con un INNER JOIN para obtener el resto de los campos... Ejemplos hay muchos, en este mismo foro o en cualquier otro... pregúntale a San GOOGLE, él te dará la respuesta.

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

Cosultar ultima venta de mis clientes

Publicado por Lewis (3 intervenciones) el 14/02/2013 16:35:33
Muchas gracias por tu ayuda y recomendación.
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