Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Seleccionar datos de muchas fechas. (https://www.clubdelphi.com/foros/showthread.php?t=69369)

JXJ 13-08-2010 03:50:03

Seleccionar datos de muchas fechas.
 
hola..

tengo mi base de datos firebird y una tabla
de la que tengo que sacar informacion
segun la fecha.

que puede ser consecutiva.

de enero 10 de 2010 a agosto 10 de 2010

o puede ser salteada. dijamos
de enerero 2010 a mayo 2010, pero sin las fecha de marzo de 2010

o de enero de 2010 a mayo de 2010 pero
sin 1 dia o 3 o 5 dias

por que esa informacion ya se obtuvo.

¿como seria mi query de consulta de datos?


para una fecha en especifico yo uso

Código SQL [-]

SELECT  tabladatos.TIPO,  tabladatos.NUMERO,  tabladatos.CLIENTE,  tabladatos.FECHA,
 tabladatos.ESTATUS,   tabladatos.CLAVE,  

FROM  tabladatos
WHERE   tabladatos.TIPO = 'N' AND 
tabladatos.FECHA = '08/10/2010'
 AND tabladatos.numero > '0'
  ORDER BY   tabladatos.NUMERO

pero para elejor rangos de fechas y es muy posible
que en esos rangos de fechas, algunos dias ya hayan sido procesados,
no tengo idea de como se hace.

¿como se haria?:confused:

celades1 13-08-2010 11:56:46

Hola

ej dos periodos enero y marzo menos dias 5 de enero y 7 de marzo


Código SQL [-]

SELECT tabladatos.TIPO, tabladatos.NUMERO, tabladatos.CLIENTE, tabladatos.FECHA,
tabladatos.ESTATUS, tabladatos.CLAVE,

FROM tabladatos
WHERE tabladatos.TIPO = 'N' AND
((tabladatos.FECHA >= '01/01/2010' and tabladatos.FECHA >= '01/31/2010'
and extract(day from tabladatos.FECHA)<>5 )
or (tabladatos.FECHA='03/01/2010' and tabladatos.FECHA >='03/31/2010'
and extract(day from tabladatos.FECHA)<>7))
AND tabladatos.numero > '0'
ORDER BY tabladatos.NUMERO





Espero te sirva

Saludos

cloayza 13-08-2010 15:50:26

Podria ser

Código SQL [-]
SELECT tabladatos.TIPO,  tabladatos.NUMERO,  tabladatos.CLIENTE,  tabladatos.FECHA, tabladatos.ESTATUS,   tabladatos.CLAVE 
FROM  tabladatos
WHERE 
/*Desde Enero 2010 A Agosto 2010*/
tabladatos.FECHA IN ('01/01/10/2010','31/08/2010') AND
/*Excluir Marzo 2010*/
      NOT tabladatos.FECHA IN ('01/03/2010','31/03/2010')

Saludos

guillotmarc 13-08-2010 16:50:51

Hola. Para escoger un intervalo de fechas (Enero a Marzo), lo haces con el operador BETWEEN.

Es decir :
where FECHA between :INICIO and :FINAL

Para quitar fechas de ese intervalo le puedes añadir otra condición, o bien, si dices que quieres quitar las fechas procesadas, y tienes alguna tabla que registre las fechas procesada, entonces puedes añadir otra condición que consulte a esa tabla.

Es decir, primero vemos como quitar dos días concretos de febrero.
where FECHA between :INICIO and :FINAL and FECHA not in (:PRIMERO, :SEGUNDO)

Ahora veamoslo con una subconsulta
where FECHA between :INICIO and :FINAL and FECHA not in (select FECHA_PROCESO from PROCESADOS) Saludos.

guillotmarc 13-08-2010 16:52:05

¿ Soy el único al que no le coge saltos de línea ?. Menudo incordio, me estoy cansando de tener que añadirlos manualmente con el [BR /]

Casimiro Noteví 13-08-2010 17:17:07

¿A qué te refieres exactamente con los saltos de línea, en código o en el texto?

cloayza 13-08-2010 17:19:40

Como hoy es viernes estoy pensando en el descanzo...

Menuda metida de patas...

El amigo guillotmarc tiene razon...:D:D:D:D

Saludos

guillotmarc 16-08-2010 01:55:22

Cita:

Empezado por Casimiro Notevi (Mensaje 373478)
¿A qué te refieres exactamente con los saltos de línea, en código o en el texto?

Entonces será un problema del portátil que me he llevado este Agosto (pensaba que sería una actualización de los Foros y que le ocurriría a todo el mundo). Es curioso porqué no tiene nada fuera de lo común: un Windows 7 acabado de instalar y Firefox 3.6.4 (con AdBlock y NoScript, pero con ClubDelphi habilitado)

Cuando escribo respuestas no coge saltos de línea, tengo que modificar el mensaje y añadir tags. < br / >

NOTA: Parece que hoy ya me está cogiendo bien los saltos de línea.

Casimiro Noteví 16-08-2010 02:22:16

Me alegro de que ya te funcione :)


La franja horaria es GMT +2. Ahora son las 00:32:55.

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