|
Creo que si necesitas una consulta que tenga 500? columnas, tienes un fallo de analisis. No creo que nadie pueda sacar información válida de una fuente de información así.
Una consulta de este tipo, no creo que deba - bajo mi modesta opinión - sobrepasar el ancho de una hoja de papel apaisada.
Yo pondría las columnas
Por otro lado, si no sabes cuantas columnas vas a tener, creo que lo más conveniente es que la crees de modo dinámico; ya sabes, a base de hacer una consulta con las columnas que vas tener y otra que se construya con esa información
Consulta.SQL.Add( 'select campoA ');
n:= 1;
Consulta_de_campos.Open;
while not Consulta_de_campos.eof
begin
Consulta.SQL.Add( ', SUM(CASE Quarter WHEN '+Quotedstr(Consulta_de_campos.Fields[0].AsString)+' THEN COL'+inntostr(n)+' ELSE 0 END) AS COL'+inttosr(n));
Consulta_de_campos.next;
n++;
end
Consulta.SQL.Add( ' from tabla group by campoA');
Consulta.Open
Siendo Consulta la query que creas y consulta de campos una query que te de los campos que vas a tener 'select distinct campocolumna from tabla'
No está muy currado pero creo que se entiende
Espero que te sirva de ayuda.
Un saludete
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Última edición por fjcg02 fecha: 26-09-2005 a las 22:00:18.
|