Insert

07/04/2004 - 19:09 por Rodriguez | Informe spam
Hola Grupo

Tengo una tabla y siguiera lo siguiente

ConsumoID Fecha ClienteID Consumo Total
1 01/01/04 1 0 0
2 01/02/04 1 75 75
3 01/03/04 1 100 25
4 01/01/04 2 0 0
5 01/02/04 2 60 60
Quiero tener el campo total calculado, es decir que me reste el consumo del
mes anterior
del mes actual.
Aqui suponemos que iniciara en el mes 01/010/01 en '0' por lo tanto el total
es igual a cero, luego en el mes 01/02/04 el total es igual a 75 porque
75 -0 = 0, luego en la fecha 01/03/04 el total es igual a 25 ya que 100-75
%
Donde el clienteID tiene que ser igual al clienteID

Lo que esta cliente consume en un mes se le factura a ese mes y lo que
consume el proximo mes es igual a ese mes menos el mes anterior y este es el
monto al cual se le facturara el mes.

No se si esto hay que crear otra tabla para poderlo organizar por clienteID.

Como puedo lograr esto ?
 

Leer las respuestas

#1 Javier Loria
07/04/2004 - 19:35 | Informe spam
Hola:
Los campos calculados no puede hacer referencias a otras filas de la
tabla :(
Lo que deseas puedes hacerlo con una tabla o con una vista. En este caso
me parece la vista es mas apropiada, algo como:
=CREATE VIEW ClienteConsumoMensual
AS
SELECT Tabla.ConsumoId
, Tabla.Fecha
, Tabla.ClienteId
, Tabla.Consumo
, Tabla.Consumo-COALESCE(Anterior.Consumo,0) AS Total
FROM Tabla
LEFT JOIN Tabla AS Anterior
ON Tabla.FechaÚTEADD(mm,1,Anterior.Fecha)
= No esta probado asi que puede tener 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.

"Rodriguez" wrote in message
news:O%
Hola Grupo

Tengo una tabla y siguiera lo siguiente

ConsumoID Fecha ClienteID Consumo Total
1 01/01/04 1 0 0
2 01/02/04 1 75 75
3 01/03/04 1 100 25
4 01/01/04 2 0 0
5 01/02/04 2 60 60
Quiero tener el campo total calculado, es decir que me reste el consumo


del
mes anterior
del mes actual.
Aqui suponemos que iniciara en el mes 01/010/01 en '0' por lo tanto el


total
es igual a cero, luego en el mes 01/02/04 el total es igual a 75 porque
75 -0 = 0, luego en la fecha 01/03/04 el total es igual a 25 ya que 100-75
%
Donde el clienteID tiene que ser igual al clienteID

Lo que esta cliente consume en un mes se le factura a ese mes y lo que
consume el proximo mes es igual a ese mes menos el mes anterior y este es


el
monto al cual se le facturara el mes.

No se si esto hay que crear otra tabla para poderlo organizar por


clienteID.

Como puedo lograr esto ?








Preguntas similares