Cantidad de registros devueltos en una variable por una consulta con group by

25/05/2007 - 17:50 por ghazarian.martin | Informe spam
Hola,
El tema es el siguiente, supongamos que tengo una tabla Ventas, la
cual tiene los siguientes campos:
IdVta, MontoVta,FechaVta,CliVta,StatusVta,

StatusVta puede ser ='VENTA' o 'No Venta'


Yo quiero lo siguiente, con un stored procedured,

Contar la cantidad de ventas que hay!, pero ojo!!.> CliVta es una
referencia lógica a una tabla de clientes, es decir por cada cliente
puede existir varios registros en la tabla venta, A MI ME INTERESA EL
ÚLTIMO REGISTRO INGRESADO, el cual lo controlo por FechaVta
->
select clivta, max(fechavta)
from ventas
group by (clivta)

esto me devuelve por cada cliente la última "venta/no venta" se le
podría agregar en having que sea venta, etc,

quiero saber si existe una manera de contar las ventas por cada
cliente, pero la venta se toma si el último registro por cliente tiene
status = 'VENTA' (por eso no sirve contar la cantidad de veces que
aparezca status=venta, ya que puede ingresarse un registro NO VENTA al
cliente más reciente), espero haberme explicado

No quiero hacer cosas de cursores, etc,
Probé con todo count select, select count, etc,etc, pero no pude, en
internet no encontré absolutamente nada...pero no hay problema que no
tenga solución ¿no?

Gracias como siempre,
Martín
 

Leer las respuestas

#1 Jesús López
25/05/2007 - 19:05 | Informe spam
¿Podrías poner un ejemplo de datos de la tabla Ventas y el resultado de la
consulta que quieres obtener?

Es que tengo mis dudas sobre lo que necesitas hacer.


Saludos:


Jesús López
www.solidq.com



"" escribió en el
mensaje news:
Hola,
El tema es el siguiente, supongamos que tengo una tabla Ventas, la
cual tiene los siguientes campos:
IdVta, MontoVta,FechaVta,CliVta,StatusVta,

StatusVta puede ser ='VENTA' o 'No Venta'


Yo quiero lo siguiente, con un stored procedured,

Contar la cantidad de ventas que hay!, pero ojo!!.> CliVta es una
referencia lógica a una tabla de clientes, es decir por cada cliente
puede existir varios registros en la tabla venta, A MI ME INTERESA EL
ÚLTIMO REGISTRO INGRESADO, el cual lo controlo por FechaVta
->
select clivta, max(fechavta)
from ventas
group by (clivta)

esto me devuelve por cada cliente la última "venta/no venta" se le
podría agregar en having que sea venta, etc,

quiero saber si existe una manera de contar las ventas por cada
cliente, pero la venta se toma si el último registro por cliente tiene
status = 'VENTA' (por eso no sirve contar la cantidad de veces que
aparezca status=venta, ya que puede ingresarse un registro NO VENTA al
cliente más reciente), espero haberme explicado

No quiero hacer cosas de cursores, etc,
Probé con todo count select, select count, etc,etc, pero no pude, en
internet no encontré absolutamente nada...pero no hay problema que no
tenga solución ¿no?

Gracias como siempre,
Martín

Preguntas similares