Club Delphi  
    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 03-10-2008
Avatar de JoysticK
JoysticK JoysticK is offline
Miembro
 
Registrado: abr 2004
Posts: 68
Poder: 21
JoysticK Va por buen camino
Unhappy Ralizar un filtro entre fechas...

Hola amigos, seguramente esta respuesta estara en el foro pero llevo ya un rato buscando y no consigo encontrarla, el problema es el suguiente, tengo una tabla de historico con dos campos uno de fecha de entrada y otro de fecha de salida, la cosa es que quiero saber que articulos estaban en existencias entre dos fechas y no me aclaro para plasmarlo en sql, porque si por ejemplo, un articulo estubo en existencia desde el dia 01.09 hasta el 30.09, y quiero realizar un filtrado con los articulos que habia en existencia entre el 15.09 y el 18.09, como puedo esto traducirlo a lenguaje SQL ?

porque fentrada >= entrada ( 01.09 >= 15.09 ) => False

o fsalida <= salida ( 18.09 <= 20.09 ) => False

La verdad no se ahora mismo como plantearlo, ¿ podriais ayudarme con este query ?
__________________
Borland Delphi XE2 // Interbase Server
Responder Con Cita
  #2  
Antiguo 03-10-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por JoysticK Ver Mensaje
...quiero realizar un filtrado con los articulos que habia en existencia entre el 15.09 y el 18.09
Código SQL [-]
   ... WHERE (FECHA >= '20080915' AND FECHA <= '20080918')

Segun la Base de Datos puede cambiar el sistema de fechas.
Ten en cuenta que an algunas es dd/mm y en otras mm/dd
Por último revisa ejemplos del BETWEEN.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 03-10-2008
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
creo que lo que necesitas es idéntico a este hilo.

Lo que pedía shoulder era ver el ausentismo en un período.
Parecido a lo que preguntas tu.

Esta fue mi respuesta (Firebird):
Código SQL [-]
/* periodo pedido: desde 10/08/2008 hasta 15/08/2008 */
/* Los que faltaron todo el período */
/* (ejemplo: 01/08/2008 - 31/08/2008) */
select persona,:desde,:hasta from tabla_ausentismo 
where
(fecha_desde <= :desde) and
(fecha_hasta >= :hasta)
union
/* Los que faltaron una vez empezado el período */
/* (ejemplo: 12/08/2008 - 31/08/2008) */
select persona,fecha_desde,:hasta from tabla_ausentismo 
where
(fecha_desde >= :desde) and
(fecha_desde <= :hasta) and
(fecha_hasta >= :hasta)
union
/* Los que faltaron y volvieron antes de terminar el período */
/* (ejemplo: 01/08/2008 - 12/08/2008) */
select persona,:desde,fecha_hasta from tabla_ausentismo 
where
(fecha_desde <= :desde) and
(fecha_hasta >= :desde) and
(fecha_hasta <= :hasta)
union
/* Los que faltaron solo unos dias dentro el período */
/* (ejemplo: 13/08/2008 - 14/08/2008) */
select persona,fecha_desde,fecha_hasta from tabla_ausentismo 
where
(fecha_desde >= :desde) and
(fecha_desde <= :hasta) and
(fecha_hasta >= :desde) and
(fecha_hasta <= :hasta)
Responder Con Cita
  #4  
Antiguo 03-10-2008
Avatar de JoysticK
JoysticK JoysticK is offline
Miembro
 
Registrado: abr 2004
Posts: 68
Poder: 21
JoysticK Va por buen camino
Gracias duilioisola, creo que es exactamente lo que estaba buscando, el parametro "union" no lo he utilizado antes, voy a ver si termino de comprender el funcionamiento y lo aplico a mis tablas.


Neftali, revisa el post que he expuesto pues en la solución que me expones tiene un gran fallo de base, si el articulo entro en almacen el dia 1 de Setiembre y salio del almacen el dia 30 de Septiembre y en el filtro le indico

Where entrada >= 15/09/08 and salida <= 18/09/08 pues no me mostraria ese registro aunque si estaba en el almacen...
__________________
Borland Delphi XE2 // Interbase Server

Última edición por JoysticK fecha: 03-10-2008 a las 14:36:50.
Responder Con Cita
  #5  
Antiguo 03-10-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
No acabé de entender bien lo que necesitbas...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 03-10-2008
Avatar de JoysticK
JoysticK JoysticK is offline
Miembro
 
Registrado: abr 2004
Posts: 68
Poder: 21
JoysticK Va por buen camino
Bueno, la intención es lo que cuenta, grácias de todas formas
__________________
Borland Delphi XE2 // Interbase Server
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
slq entre dos fechas comparar fechas taru MySQL 2 30-07-2007 16:10:36
filtro entre dos tablas en tiempo de ejecucion Goyo OOP 16 26-09-2006 21:39:31
Entre fechas erick_jesus Impresión 1 29-05-2006 19:10:50
minutos entre dos fechas jmlifi Firebird e Interbase 3 15-04-2005 12:39:36
Diferencia entre fechas.... seb@ OOP 1 21-08-2003 15:57:22


La franja horaria es GMT +2. Ahora son las 22:57:27.


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