Page 1 of 1

Scope sobre el resultado de una consulta SQL ADS?

Posted: Tue Apr 15, 2008 11:08 pm
by BenD
Es posible hacer SCOPE sobre el resultado de una consulta al motor ADS ?

Hasta donde tengo entendido, para hacerlo, primero se debería crear un indice..., eso implica que primero me tocaría guardar toda la consulta en un archivo...

Hay alguna manera de hacerlo sin crear el archivo temporal ?

Yo se que puede sonar absurdo, pues si hago la consulta sql debería tomar las restricciones desde alli para no tener que hacer el scope.

Pero resulta que tengo en la base de datos, un campo que es de tipo char, y que me indica una hora (ej 10:20:15). Necesito sacar solo los items que esten en un rango de horas y el "between" de SQL no me acepta los chars...

Alguna idea de como hacer la consulta, o de como hacer el scope sin generar el archivo temporal ??

Gracias de antemano

Posted: Tue Apr 15, 2008 11:42 pm
by reinaldocrespo
Tal vez no estoy entendiendo la pregunta... Pero me parece que no te hace falta usar BETWEEN. Podrias usar > AND <. Ej:

SELECT * FROM employees WHERE time > '10:00:00' AND time < '12:00:00'


Y si tienes un indice en el campo time, entonces debe ejecutar mucho mas rapido.


Reinaldo.

Posted: Wed Apr 16, 2008 11:54 am
by Marcelo Via Giglio
BenD,

no recuerdi bien, pero en alguna prueba que hice no pude crear un indice sobre un cursor, es decir sobre el resultado de una consulta SQL, pero no probe el intentar crear un indice sobre una tabla temporal (#<tabla>), ahora lo que podrias pobrar es filtros, los ADS son muy buenos.

Son ideas, espero sean de ayuda

saludos

Marcelo

Posted: Wed Apr 16, 2008 1:05 pm
by BenD
Gracias a todos...estaba enredado con esas comparaciones de campos tipo char, yo pensaba que el > y < solo funcionaban para datos numéricos....y tambien tendré en cuenta lo de los filtros..