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)
-   -   Ayuda con agrupacion (https://www.clubdelphi.com/foros/showthread.php?t=38955)

elunicode 05-01-2007 16:53:32

Ayuda con agrupacion
 
Que tal amigos, tengo un problema con agruparación en una consulta select y quisiera que me ayudaran:
la consulkta es la siguiente

Código SQL [-]
select a.cli_cve, b.nombre, substr(a.docgral,0,strpos('-',a.docgral)) docgral, min(a.fecha_a)
from tdoc_cxc a inner join TCLIENTES b
on a.cli_cve = b.cli_cve
where a.concepto=4
and a.saldo > 0
and a.tipo='C'
group by a.cli_cve, b.nombre, substr(a.docgral,0,strpos('-',a.docgral))
order by a.cli_cve,a.docgral

el problema me lo indica en el substr de la agrupación.

Estoy usando interbase 6 y tengo activados mis udf's sin problemas...
el problema no es con las udf's es con la agrupación...

Alguna sugerencia....:confused:

kikecg 05-01-2007 17:21:00

No es por el 0?
 
Hola.

Se me ocurre que puede ser por el segundo parametro del substr. Estoy probando consultas propias y en teoria ese parametro es 1, no 0. Es decir, la primera posicion de la cadena es la posicion 1, no la posicion 0.

Pero ya te digo que no se si es por eso.

Suerte.

kikecg 06-01-2007 10:47:03

Pues va a ser que no
 
Hola de nuevo.

Tenía curiosidad por el problema y he hecho un par de pruebas mas. Definitivamente no es por el 0, nada que ver. Lo que estoy viendo es que parece que Interbase no acepta las UDF's en la clausula group by, igual que por ejemplo no puedes utilizar los alias de las columnas en la misma clausula :( .

La verdad es que ya no me acordaba, pero este problema se me presentó hace algún tiempo. Entonces la solución fué incluir otra tabla en la consulta y sacar de ella el dato que iba a conseguir con SubStr. Era algo urgente y no me puse a buscar mas soluciones, pero ahora que veo que te pasa lo mismo voy a buscar algo por ahí a ver que encuentro.

Pero vamos, que si tienes la opción de agrupar por otro campo, deberias aprovecharla...


La franja horaria es GMT +2. Ahora son las 23:15:55.

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