SoloCodigo

Bases de Datos => Otras Bases de Datos => Mensaje iniciado por: Sagma en Viernes 21 de Agosto de 2009, 16:33

Título: sumar en dias
Publicado por: Sagma en Viernes 21 de Agosto de 2009, 16:33
buenas tardes, tengo una consulta SQL-ANSI ya que trabajo con informix, y lo que quiero es sumar un importe en un lapso de 6 meses.

he realizado la consulta siguiente, pero este lo muestra en meses, quisiera saber si se puede realizar la consulta contando los dias, por decir hoy 21 de agosto sumar los importes de hace seis meses atras.  <_<

Citar
select sum(importe) from factura
where oficina = 8
and cliente = 1399
and MONTH(fecha) >= MONTH(today)-6
and year(fecha) = year(today)

gracias por la ayuda.  :good:
Título: Re: sumar en dias
Publicado por: F_Tanori en Viernes 21 de Agosto de 2009, 19:13
Hay una funcion que se llama extend para "extraer" la parte de la fecha no recuerdo muy bien la sintaxis, ni tengo informix para probarlo pero
te dejo una idea quizas pueda ayudarte

Citar
select sum(importe) from factura
where oficina = 8 and cliente = 1399 and (fecha>= (extend(today) - 6 units month) and fecha <= today)


Saludos
Título: Re: sumar en dias
Publicado por: Sagma en Viernes 21 de Agosto de 2009, 21:30
gracias, muy amable, a funcionado  :beer:

 :good:
Título: Re: sumar en dias
Publicado por: Sagma en Viernes 28 de Agosto de 2009, 20:42
que tal, de nuevo por aca, preguntando, como le puedo aumentar al la misma consulta un mes, poder decir saco los datos del mes actual, Agosto, pero en esta consulta, quisiera sacar del mes de septiembre.

gracias.  :good:
Título: Re: sumar en dias
Publicado por: F_Tanori en Viernes 28 de Agosto de 2009, 23:36
Supongo que tendrias que sumarle el mes a la fecha final

Código: SQL
  1. SELECT SUM(importe) FROM factura
  2. WHERE oficina = 8 AND cliente = 1399 AND (fecha>= (extend(today) - 6 units MONTH) AND fecha <=  (extend(today) +1 units MONTH))
  3.  

las unidades puedes usarlas :
units month,day,hour ...

habria que buscar el manual para mas detalles


Espero te Sirva
Saludos
Título: Re: sumar en dias
Publicado por: Sagma en Sábado 29 de Agosto de 2009, 16:39
gracias por responder, he aplicado lo que has puesto, pero me sale un mensaje:    :huh:

  1267: The result of a datetime computation is out of range.   ;)

fijate esta es la consulta completa:

Código: Text
  1.  
  2. select sctcdesc, scclccli, scclnomb, scclcanu,
  3.        sccltele, sccltelx, sccltfax,
  4.        scdcfnac, (year(today)-year(scdcfnac)),
  5.                 ( select sum(sctfimus) from sctfactu
  6.                    where sctfofic = scclofic
  7.                      and sctfccli = scclccli
  8.                      and sctffdoc >= (extend(today) - 6 units month)
  9.                      and sctffdoc <= (extend(today) + 1 units month)
  10.                      and year(sctffdoc) = year(today)) compra,
  11.                 ( select MAX(sctffdoc) from sctfactu
  12.                    where sctfofic = scclofic
  13.                      and sctfccli = scclccli
  14.                      and year(sctffdoc) = year(today) ) ufecha,
  15.        scclslcr, ccclicor1
  16.   from scmaecli, scdatcli, sctabcon, outer bsoft:cccli
  17.  where scclofic = scdcofic
  18.    and scclccli = scdcccli
  19.    and scdcfnac is not null
  20.    and month(scdcfnac) = MONTH(today)
  21.    and sctcgrup = 19
  22.    and sctcsubg > 0
  23.    and scclubic = sctcgrup*1000+sctcsubg
  24.    and cccliofic = scclofic
  25.    and cccliccli = scclccli
  26.  
  27. order by DAY(scdcfnac)
  28.  
  29.  

muchas gracias por la orientacion:  :rolleyes: