Ayuda con una consulta

07/04/2004 - 09:55 por Tomas Martin | Informe spam
Tengo una tabla 'Ventas' con las columnas :

Fecha, Factura, tipo, .

Necesito montar una consulta (o SP) que me devuelva las filas de 'ventas' de
las tres últimas facturas (orden por fecha) anteriores a una fecha dada de
un tipo determinado

Ejemplo:
fecha factura Tipo
1 01/01 001 X
2 01/02 001 X
3 01/03 002 O
4 01/04 005 X
5 01/05 002 O
6 01/06 003 X
7 01/07 004 O
8 01/08 005 X
9 01/09 004 O
10 01/10 005 X
11 01/11 006 X
12 01/12 006 X
.

para la fecha >01/12 y tipo X me devolvería las filas: 12,11,10,8,6 y 4 ya
que las tres últimas facturas que cumplen la condicion son la 006,005 y 003

gracias

TomasMM

Preguntas similare

Leer las respuestas

#1 Maximiliano D. A.
07/04/2004 - 14:23 | Informe spam
Holam, bueno deberias hacer un TOP algo asi:

Select TOP 3 with ties campos from tabla where condicion order by
campo_a_ordendar

Algo asi deberias de hacer!!

Si no queres empates debes sacar el with ties

Bye




Salu2
Maxi

Buenos Aires Argentina
Desarrollador Microsoft 3 Estrellas .NET
[Maxi_accotto[arroba]speedy[punto]com[punto]ar
MSN:
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"Tomas Martin" <t o m a s m m [ARROBA] m i c r o v e n [punto] n e t>
escribió en el mensaje news:
Mostrar la cita
de
Mostrar la cita
003
Mostrar la cita
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.618 / Virus Database: 397 - Release Date: 09/03/2004
#2 Miguel Egea
07/04/2004 - 14:44 | Informe spam
select distinct top 3 factura XXX
Saludos
Miguel Egea
"Tomas Martin" <t o m a s m m [ARROBA] m i c r o v e n [punto] n e t>
escribió en el mensaje news:
Mostrar la cita
de
Mostrar la cita
003
Mostrar la cita
#3 Pablo Salazar
07/04/2004 - 18:10 | Informe spam
Podrias usar algo asi.

select top 3 factura from ventas
where fecha <'12/01/2004' and tipo = 'X'
Group by Factura
Order by Fecha Desc


Gracias
Pablo Salazar.



"Tomas Martin" <t o m a s m m [ARROBA] m i c r o v e n [punto] n e t> wrote
in message news:
Mostrar la cita
de
Mostrar la cita
003
Mostrar la cita
#4 Javier Loria
07/04/2004 - 18:45 | Informe spam
Hola Tomas:
1 Pregunta 4 respuestas, todas diferentes :(
Si entendi correctamente debe ser algo como:
==SELECT Tabla.fecha
, Tabla.Factura
, Tabla.Fecha
, Tabla.Tipo
FROM Tabla
JOIN (SELECT TOP 3 Factura
FROM Tabla
WHERE Fecha<='2004-01-12'
AND Tipo='X'
ORDER BY Fecha DESC) AS FactSel
ON Tabla.Factura=FactSel.Factura
== Esta sin probar y espero no haber cometido errores de sintaxis.
Saludos,

Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
"Tomas Martin" <t o m a s m m [ARROBA] m i c r o v e n [punto] n e t> wrote
in message news:
Mostrar la cita
de
Mostrar la cita
003
Mostrar la cita
#5 Tomas Martin
12/04/2004 - 09:26 | Informe spam
Perfecto Javier.

Gracias tambien a Maximiliano, Miguel y Pablo, pero vuestras respuestas no
me devuelven lo solicitado (tal vez no me supe expresar bien) ya que me
seleccionan las tres últimas facturas y lo que yo necesitaba eran los tres
últimos clientes y en el caso de que las 3 facturas sean del mismo cliente
solo me devuelven un cliente.

Gracias a los cuatro

Tomás Martín
Ads by Google
Search Busqueda sugerida