Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Como hago una consulta excluyente de esta forma? (https://www.clubdelphi.com/foros/showthread.php?t=62173)

flystar 08-12-2008 20:03:39

Como hago una consulta excluyente de esta forma?
 
Buenos Días Amigos.

Solicito ayuda a una Alma caritativa para la siguiente pregunta:

Supongamos que tenemos una tabla que contiene un campo con una clave númerica que si se puede repetir y un campo con un valor tipo fecha.
Un ejemplo fictisio podría ser:

clave fecha
1 01/feb/2008
2 05/feb/2008
1 06/mar/2008
5 21/oct/2008
5 15/sep/2008
1 30/oct/2008
. .
. .
. .
límite límite


¿Como hago una consulta que me devuelva la clave que en ninguno de los registros contiene una fecha que exceda un fecha predeterminada por ejemplo '01/nov/2008'?

Muchas GRACIAS!!! :confused:

agustibaldo 11-12-2008 15:24:18

No entiendo muy bien tu pregunta...

Necesitas que la consulta devuelva los valores de clave, cuya fecha no supere el 01/11/2008?

Si es así, prueba haciendo esto(en SQL Server 2005):

Código:

SELECT TABLA.CLAVE

FROM TABLA

WHERE TABLA.FECHA < '20081101'


Espero que te haya sido de ayuda..

Saludos.

agustibaldo 11-12-2008 15:39:49

Me parece que entendí lo que querías.

Prueba también con esto:

Código:

SELECT TABLA.CLAVE
FROM TABLA
WHERE TABLA.CLAVE NOT IN (SELECT TABLA.CLAVE
                          FROM TABLA
                          WHERE TABLA.FECHA > '20081101')

No pude probar la consulta con datos reales.

Comenta que tal te fue.

Saludos

flystar 11-12-2008 17:09:18

Gracias por tu apoyo..No quisiera usar la funcion not in por que ese tipo de consultar son extremadamente lentas y pesadas..me gustaría tratar de usar un Join pero no me sale..

como se hara? Gracias.

Ivanzinho 11-12-2008 17:38:33

Podrías hacer algo como lo que sigue:

Código SQL [-]
select A.clave
from tabla A left join (select clave from tabla C where C.fecha >:fecha) B
     on A.clave = B.clave
where B.clave is null
group by A.Clave

Espero que te sirva.

Un saúdo.


La franja horaria es GMT +2. Ahora son las 22:52:02.

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