Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Devolver En Una Variable La Cantida De Vtas (realizado En Un Sp)

Estas en el tema de Devolver En Una Variable La Cantida De Vtas (realizado En Un Sp) en el foro de SQL Server en Foros del Web. la versión es SQL SERVER 2000, respecto al ejemplo sería así: la tabla ventas tiene 4 campos: 1-CodigoVta 2-FechaVta 3-MontoVta 4-EstadoVta 5-ClienteVta entonces para los ...
  #1 (permalink)  
Antiguo 31/05/2007, 13:59
 
Fecha de Ingreso: febrero-2007
Mensajes: 182
Antigüedad: 17 años, 2 meses
Puntos: 0
Devolver En Una Variable La Cantida De Vtas (realizado En Un Sp)

la versión es SQL SERVER 2000, respecto al ejemplo sería así:
la tabla ventas tiene 4 campos:
1-CodigoVta
2-FechaVta
3-MontoVta
4-EstadoVta
5-ClienteVta

entonces para los datos:


CodigoVta FechaVta
MontoVta EstadoVta ClienteVta


1 10/10/2000
1.000 VENTA 1
2 12/10/2004
25000 VENTA 1
3 14/05/2005
3000 NO VENTA 1
4 05/06/2004
200 VENTA 2
5 06/06/2007
5000 VENTA 2


Yo quiero un Stored Procedure, que me devuelva la cantidad de VENTAS,
para saberlas, por cada cliente me tengo que fijar el último
registro(es decir hacer un group by con el cliente y los demás datos,
con MAX(FechaVta),
en el ejemplo consideraria 2 registros, 1 por cada cliente (siempre
será así), y el que tiene la fecha más reciente, es decir el de
codigoVta = 3 para el clientevta=1, y el codigovta=5 para el
clientevta = 2,


entonces en ambos me fijo si EstadoVta es igual a VENTA, si es VENTA
sumo 1 sino no, de esta manera devolver todas las ventas realizadas,
considerandolas repito, como la última info ingresada por cliente,


sería como hacer un count de un select con un group by, supongo,
porque se hacer el :
"select cliente, max(fecha)
from ventas
group by cliente"


esto devuelve los clientes con su última factura, pero como contar el
número de registros de VENTAS????????
LO QUIERO EN UNA VARIABLE, TODO SE REALIZARÁ EN UN STORED PROCEDURE

Gracias,
Martín
  #2 (permalink)  
Antiguo 14/06/2007, 11:50
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Re: Devolver En Una Variable La Cantida De Vtas (realizado En Un Sp)

SELECT @resultado=Count(*)
FROM(
select cliente, max(fecha)
from ventas
group by cliente
)
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #3 (permalink)  
Antiguo 15/06/2007, 15:38
 
Fecha de Ingreso: febrero-2007
Mensajes: 182
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Devolver En Una Variable La Cantida De Vtas (realizado En Un Sp)

espero que vuelvas a ver lo que posteaste ....
en primer lugar no es lo que buscaba, y en segundo lugar, que devuelve eso???????
la cantidad de clientes que tiene nada más
  #4 (permalink)  
Antiguo 27/06/2007, 14:20
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Re: Devolver En Una Variable La Cantida De Vtas (realizado En Un Sp)

Cierto, te devuelve la cantidad de clientes a los que has vendido algo.

Pero entonces no sé a que te refieres cuando preguntas
Cita:
esto devuelve los clientes con su última factura, pero como contar el
número de registros de VENTAS????????
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #5 (permalink)  
Antiguo 31/07/2007, 17:51
Avatar de Gabo77  
Fecha de Ingreso: noviembre-2006
Mensajes: 381
Antigüedad: 17 años, 5 meses
Puntos: 6
Re: Devolver En Una Variable La Cantida De Vtas (realizado En Un Sp)

Si lo entendí bien, tu quieres que se muestre la ultima venta realizada por cada cliente, y que además en una columna extra te diga cuantas ventas registradas para ese cliente son efectivamente EstadoVta = 'VENTA' ¿correcto?

Si es así esto te lo resuelve
Código:
SELECT *,
     (SELECT COUNT(1) FROM Ventas B WHERE B.ClienteVta = A.ClienteVta AND B.EstadoVta = 'VENTA')
FROM Ventas A
GROUP BY CodigoVta, MontoVta, EstadoVta, ClienteVta
Espero qu esto te ayude


Saludos!
__________________
Hicimos un pacto con Dios... El no desarrolla Sistemas y nosotros no hacemos milagros....
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:19.