Ver Mensaje Individual
  #2  
Antiguo 12-03-2014
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 915
Reputación: 23
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Podrías usar un procedimiento almacenado...

Te propongo esta alternativa:
Código SQL [-]
create or alter procedure Router (
    Usuario as Varchar(20)) 
returns(
  Nombre as varchar(20),
  Mes as integer,
  Anio as integer,
  Maximo as integer,
  Total as integer)
as
declare variable MaxAnterior integer;
begin
    MaxAnterior=0;
  FOR Select
    Nombre,
    Extract(Month from Fecha) As Mes,
    Extract(Year From Fecha) As Anio,
    Max(BytesIn) As Maximo
  From Consumo
  Where Nombre=:Usuario
    Group By Nombre, Extract(Month From Fecha), Extract(Year From Fecha)
  Into :Nombre, :Mes, :Anio, :Maximo
  do
  begin
       Total=Maximo - MaxAnterior;
     MaxAnterior=Maximo;
     
       suspend; 
  end
end

Este procedimiento recibe un parametro que es Usuario

Para usar este puedes hacerlo desde una consulta de la siguiente manera:

Código SQL [-]
Select * From Router('roger')

No lo he probado, así que es posible que tenga errores. Me cuentas como va...

Saludos cordiales
Responder Con Cita