• Domingo 22 de Diciembre de 2024, 02:53

Autor Tema:  sumar en dias  (Leído 5025 veces)

Sagma

  • Miembro MUY activo
  • ***
  • Mensajes: 390
  • Nacionalidad: bo
    • Ver Perfil
sumar en dias
« en: Viernes 21 de Agosto de 2009, 16:33 »
0
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:
Sagma

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: sumar en dias
« Respuesta #1 en: Viernes 21 de Agosto de 2009, 19:13 »
0
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
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

Sagma

  • Miembro MUY activo
  • ***
  • Mensajes: 390
  • Nacionalidad: bo
    • Ver Perfil
Re: sumar en dias
« Respuesta #2 en: Viernes 21 de Agosto de 2009, 21:30 »
0
gracias, muy amable, a funcionado  :beer:

 :good:
Sagma

Sagma

  • Miembro MUY activo
  • ***
  • Mensajes: 390
  • Nacionalidad: bo
    • Ver Perfil
Re: sumar en dias
« Respuesta #3 en: Viernes 28 de Agosto de 2009, 20:42 »
0
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:
Sagma

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: sumar en dias
« Respuesta #4 en: Viernes 28 de Agosto de 2009, 23:36 »
0
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
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

Sagma

  • Miembro MUY activo
  • ***
  • Mensajes: 390
  • Nacionalidad: bo
    • Ver Perfil
Re: sumar en dias
« Respuesta #5 en: Sábado 29 de Agosto de 2009, 16:39 »
0
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:
Sagma