Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-03-2012
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 397
Poder: 16
novato_erick Va por buen camino
consulta de rango de fecha en sql

Hola Agradezco su ayuda en esta consulta:

Lo que deseo es que me agrupe una consulta por rango de fecha y mi motor de base de datos es Firebird pero me dice que tengo error en expresiones

Código SQL [-]
select df.CODIGO_BARRAS, d.DESCRIPCION, SUM(DF.TOTAL) as Total_depa, SUM(DF.MONTOIMPUESTO) as Total_impuesto, SUM(df.MONTO_DESCUENTO) as descuento,
 SUM(fv.MONTODESCUENTO) as Descuento_global, df.IMPUESTO, (DF.PRECIO_UNITARIO )as subtotal 
from FACTURAS_VENTAS fv, DEPARTAMENTOS d, DETALLE_FACTURASVENTAS df where df.CODIGO_BARRAS = d.COD_DEPARTAMENTO and FV.ID_FACTURA = df.ID_FACTURA 
and fv.FECHA  >= 03/03/2012 04:59:56 p.m. AND fv.FECHA 03/03/2012 09:08:56 p.m.
  
group by DF.CODIGO_BARRAS, d.DESCRIPCION, df.IMPUESTO, DF.PRECIO_UNITARIO

order by DF.CODIGO_BARRAS


Saludos


novato_erick
Responder Con Cita
  #2  
Antiguo 04-03-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Seria mejor dos consultas, para mi.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 04-03-2012
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 397
Poder: 16
novato_erick Va por buen camino
Hola Caral como has estado?

a que te refieres con dos Consulta?


Saludos

novato_erick
Responder Con Cita
  #4  
Antiguo 04-03-2012
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.806
Poder: 22
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Para empezar debes definir correctamente las fecha (entre comillas simples)
Ten en cuenta que si separas las fechas con / el formato es mes/dia/año hora:minuto:segundo
Mira esto
Las horas las he puesto en formato 24h (9pm=21)
Código SQL [-]
select 
df.CODIGO_BARRAS, 
d.DESCRIPCION, 
SUM(DF.TOTAL) as Total_depa, 
SUM(DF.MONTOIMPUESTO) as Total_impuesto, 
SUM(df.MONTO_DESCUENTO) as descuento,
SUM(fv.MONTODESCUENTO) as Descuento_global, 
df.IMPUESTO, 
(DF.PRECIO_UNITARIO )as subtotal 

from 
FACTURAS_VENTAS fv, 
DEPARTAMENTOS d, 
DETALLE_FACTURASVENTAS df 

where 
df.CODIGO_BARRAS = d.COD_DEPARTAMENTO and 
FV.ID_FACTURA = df.ID_FACTURA and 
fv.FECHA  >= '03/03/2012 16:59:56' AND 
fv.FECHA '03/03/2012 21:08:56'

group by DF.CODIGO_BARRAS, d.DESCRIPCION, df.IMPUESTO, DF.PRECIO_UNITARIO

order by DF.CODIGO_BARRAS

Por lo de agrupar por rango de fecha tengo una pregunta:
¿Qué rango?
- diario
- semanal
- mensual
- otro

Última edición por duilioisola fecha: 04-03-2012 a las 20:52:42.
Responder Con Cita
  #5  
Antiguo 04-03-2012
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 397
Poder: 16
novato_erick Va por buen camino
en realidad el rango de fecha puede ser en los tres casos, pero esta seria una consulta del mismo día la diferencia son las horas.

Saludos
Responder Con Cita
  #6  
Antiguo 04-03-2012
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 397
Poder: 16
novato_erick Va por buen camino
otra cosa que intente fue esto:
Código SQL [-]
SELECT * FROM FACTURAS_VENTAS WHERE FECHA BETWEEN '03/03/2012 04:59:56 p.m.' AND '03/03/2012 09:08:56 p.m.'

pero me manda esto:

overflow ocurred during data type conversion. Conversiono error from string "03/03/2012 04:59:56 p.m".
Responder Con Cita
  #7  
Antiguo 04-03-2012
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.806
Poder: 22
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Primero que todo: Trata las fecha de ponerlas en formato 24h.
Código SQL [-]
SELECT * FROM FACTURAS_VENTAS WHERE FECHA BETWEEN '03/03/2012 16:59:56 ' AND '03/03/2012 21:08:56'
Deberías también, verificar que tipo de campo es FECHA en la tabla FACTURA_VENTAS.
Puede ser un DATE, un TIME o un TIMESTAMP.
En el caso de DATE, no se guardan las horas, solo la fecha y puede ser que te de problemas (solo Firebird Dialect 3)
Responder Con Cita
  #8  
Antiguo 04-03-2012
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 397
Poder: 16
novato_erick Va por buen camino
Tienes razón el tipo de campo es TIMESTAMP la solución estaba en poner 24 horas a la consulta y luego quitar el p:m cosa que no habia hecho por eso aunque le cambiara el formato de hora me provocaba el error.

Saludos y gracias por tu ayuda duilioisola.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿saber si una fecha o mas estan dentro de un rango de fechas? JXJ Firebird e Interbase 17 25-08-2010 23:55:43
Problema con Rango de Fecha El_Raso SQL 5 09-02-2007 05:15:19
Problema con rango de fecha JavierO Tablas planas 3 19-08-2005 23:32:45
Consulta de rango de fechas con sql Yanet SQL 2 12-02-2005 02:07:04
Rango de fecha (Ojo. esta ves) JODELSA Varios 2 24-05-2003 05:04:52


La franja horaria es GMT +2. Ahora son las 20:28:19.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi