SQL - Consulta ordenada por fechas no repetitiva

 
Vista:

Consulta ordenada por fechas no repetitiva

Publicado por Davinci (3 intervenciones) el 23/04/2012 18:31:23
Saludos.

Tengo una tabla de los consumos de un cliente con los campos Articulo, fecha, documento ¿Como haria la select que me da los articulos consumidos por el cliente comenzando por los mas antiguos, sin que se me repitan?
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
sin imagen de perfil
Val: 806
Bronce
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Consulta ordenada por fechas no repetitiva

Publicado por leonardo_josue (1173 intervenciones) el 23/04/2012 22:28:27
Hola Davinci:

Creo que este es el primer mensaje que publicas, así es que hay que aclarar algunos puntos que son muy importantes:

En primer lugar, es conveniente que siempre que preguntes algo pongas algo de lo que haz intentado hacer, no importa si está mal, si marca algún error o no obtienes lo que realmente necesitas, lo importante es saber que haz intentado hacer la consulta por tu cuenta.

Segundo, menciona siempre con que BD estás trabajando, (motor, versión, edición, etc). Aunque la sintaxis es semejante para los distintos motores, también existen diferencias importantes entre cada uno de ellos, sobre todo con el manejo de fechas (como es el caso).

Tercero, postea siempre cuál es la estructura de tus tablas así como algunos datos de ejemplo, esto nos servirá para poder recrear un escenario semejante al que tienes de tal manera que podamos hacer pruebas y sea más fácil ayudarte.

Finalmente, investiga algo acerca de las cláusulas DISTINCT, MIN, GROUP BY, y ORDER BY... con una combinación de estos elementos puedes obtener la consulta que quieres.

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
0
Comentar

Consulta ordenada por fechas no repetitiva

Publicado por Davinci (3 intervenciones) el 24/04/2012 09:29:14
Perdonar pero es verdad que es la primera vez que entro en el foro y pasaré a explicarme.

Trabajo con SQL Server compact 2003 y estoy modificando una gestion de Autoventa para windows mobile desarrollada con vb.net en visual studio 2003. Tengo una Tabla que contiene los consumos de los clientes en los ultimos treinta dias cuya estructura es:

CREATE TABLE EstCli(fcEstCli nvarchar(10), fcEstFecha datetime, fcEstArt nvarchar(15), fiEstPre integer, fcEstDocum nvarchar(40))

siendo los campos Cliente/Fecha/Articulo/Precio/Documento

Lo que pretendo es mostrar en un listview los articulos que ha consumido un cliente sin repetirlos y mostrando en primer lugar los que hace mas tiempo que se vendieron.

He probado con :

SELECT DISTINCT fcEstArt FROM EstCli WHERE fcEstCli = ' 1455' ORDER BY fcEstFecha

pero no funciona porque el campo del DISTINCT es distinto al de ORDER BY (Creo)

SELECT fcEstArt WHERE fcEstCli = ' 1455' ORDER BY fcEstFecha

funciona pero logicamente me duplica los articulos que se han consumido en distintos dias

Piendo que se podria hacer una subconsulta dentro de la select para evitar esta repetición, pero no se como hacerla.

Gracias y perdonar por molestaros.
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

Consulta ordenada por fechas no repetitiva

Publicado por Davinci (3 intervenciones) el 24/04/2012 10:42:32
Con esta instruccion consigo los articulos y sy menor fecha de venta sin repetirse pero no ordenados por fecha.

SELECT fcEstArt, MIN(fcEstFecha) FROM EstCli WHERE fcEstCli = ' 1455' GROUP BY fcEstArt

Si intento ORDER BY fcEstFecha me da error.

¿Como podría ordenarlos por fechas?

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