Ver Mensaje Individual
  #7  
Antiguo 14-02-2007
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Reputación: 22
fjcg02 Va camino a la fama
Siempre y cuando sepas el nº de 'grupos' de registros que tengas que calcular, podrías hacer una select con UNION. Para realizarla necesitas que todas las querys que unas devuelvan los mismos campos, que creo que es el caso.
Ejemplo, los grupos son de 1, 2 y tres caracteres:
A
A1 -> A11, A12, A13
A11 -> A111, A112, A113

Código SQL [-]
SELECT substr(codigo,1,1) AS codigo, sum(cant1), sum(cant2) from X 
group by codigo
UNION
SELECT substr(codigo,1,2) AS codigo, sum(cant1), sum(cant2) from X 
group by codigo
UNION
SELECT substr(codigo,1,3) AS codigo, sum(cant1), sum(cant2) from X 
group by codigo

Si no sabes cuantos 'grupos' tienes, siempre puedes hacer unas querys previamente para calcularlos, es decir

Código SQL [-]
select distinct length(codigo) as grupo from x order by grupo

te devolverá el nº de selects que tendrás que preparar.

Espero no haber sido muy espeso, es por la hora....

Suerte y un saludo
PD: No se que motor de BBDD usas, pero no creo que tengas problemas para adaptarlo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita