![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
#9
|
||||
|
||||
|
Ayer respondí en otra entrada, pero no estaba muy certero porque era tarde. Echale un vistazo a este tema, que está un poco más currado.
Query Columnas: SELECT distinct Ruta FROM TABLA ORDER BY Ruta Ruta A B C ... Query Consulta: Es la que vamos a montar dinámicamente Consulta.SQL.Clear; Consulta.SQL.Add( 'SELECT Oficina '); Columnas.Open; while not Columnas.eof begin Consulta.SQL.Add( ', SUM(CASE Ruta WHEN '+Quotedstr(Columnas.Fields[0].AsString)+' THEN '+Ingreso+' ELSE 0 END) AS'+ Quotedstr(Columnas.Fields[0].AsString)'; Columnas.next; end Consulta.SQL.Add( ' FROM TABLA GROUP BY Oficina'); Consulta.Open // Consulta antes de hacer el OPEN tendrá algo parecido a esto SELECT Oficina , SUM(CASE Ruta WHEN 'A'THEN '+Ingreso+' ELSE 0 END) AS A , SUM(CASE Ruta WHEN 'B'THEN '+Ingreso+' ELSE 0 END) AS B ... FROM TABLA GROUP BY Oficina Cuando crees una nueva ruta, saldrá en la query de Columnas oficina A B C D E 1 100 70 200 2 200 150 250 3 100 200 espero que te sirva de ayuda. Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|