Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Hacer de Filas columnas (Perdido) (https://www.clubdelphi.com/foros/showthread.php?t=47946)

IVAND 11-09-2007 21:00:39

Hacer de Filas columnas (Perdido)
 
Hola a todos

Hace un buen tiempo un amigo del foro me dio una gran idea que me sirvio hasta hoy que me surge otra gran duda , espero puedan ayudarme con su basta experiencia

Primero trabajo con delphi 6 e firebird 1.5.4

Tengo tres tablas

- Cab_fac (maestro de facturas grabadas)
- form_pago (formas como me pueden pagar una factura , efectivo, cheques etc)

Hago el siguiente select tratando de convertir las filas en columnas pero agrupadas por mes y ano y me da un error

Código SQL [-]
select cast(datetostr(c.fec_factura,"%m%d") as char(6) año,
(Select z(sum(t2.total)) from form_Pago t2
where t2.key_cab_fac=t1.key_cab_fac and t2.cod_pago=101) as cheq
from cab_fac c,form_pago t1
where c.key_cab_fac=t1.key_cab_fac
and extractdate(c.fec_factura)=:fecha
Group by t1.key_cab_fac,datetostr(c.fec_factura,"%m%d")

El problema es que me funciona perfecto si hay que agrupar por key_cab_fac, pero mi interes es que me agrupe por dia-año y no por key_cab_fac es mas
este campo no me interesa en esta consulta

Gracias por su interes una vez mas

Carmelo Cash 14-09-2007 14:19:35

Podés crear una vista o agregar dos campos
 
Creo que una solución práctica, sería agregar dos campos (mes y año ) a la tabla, eso te facilitaría este tipo de consultas y la respuesta sería más velóz.

Otra opción es crear una vista y agrupar desde la vista, pero debrás tener en cuenta el rendimiento.

Suerte

IVAND 14-09-2007 19:25:57

Gracias Carmelo , pero por ahi no va el problema , el problema esta es que no necesito agupar por key_cab_fac , pero es la unica manera que el query me funcione bien , tendra que haber una mejor manera de hacer el query


La franja horaria es GMT +2. Ahora son las 08:44:24.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi