Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   cambiar texto de gruopheader en fastreport 5.0 (https://www.clubdelphi.com/foros/showthread.php?t=91253)

elisma22 14-12-2016 01:29:59

cambiar texto de gruopheader en fastreport 5.0
 
Saludos, tengo un reporte en el cual agrupo por meses los productos vendidos en un año, pero solo salen los números de dichos meses y no sus nombres.
la consulta que estoy utilizando es esta:
Código SQL [-]
select ventas.id_ven,ventas.plazo, descxven.id_prod, descxven.cant, productos.nom_prod,
sum(Descxven.cant ) AS total, month(ventas.plazo) as mes
from (ventas inner join descxven on ventas.id_ven=descxven.id_ven)inner join productos
on descxven.id_prod=productos.id_prod 
 GROUP BY Productos.nom_prod, mes order by mes,productos.nom_prod
Quisiera que me ayudasen a que en vez de los números poder poner el nombre de los meses, desde ya agradezco sus respuestas.

Casimiro Notevi 14-12-2016 11:37:00

¿Y en qué campo están los nombres?

cloayza 14-12-2016 13:02:54

Elisma22 no indicas que administrador de bases de datos que utilizas.

Si fuera Firebird, podrías hacer esto...

Código SQL [-]
select ventas.id_ven,ventas.plazo, descxven.id_prod, descxven.cant, productos.nom_prod,
sum(Descxven.cant ) AS total, 
decode(month(ventas.plazo),1,'enero',2,'febrero',3,'marzo',4,'abril',5,'mayo',6,'junio',7,'julio',8,  'agosto',9,'septiembre',10,'octubre',11,'noviembre',12,'diciembre') as mes
from (ventas inner join descxven on ventas.id_ven=descxven.id_ven)inner join productos
on descxven.id_prod=productos.id_prod 
 GROUP BY Productos.nom_prod, mes order by mes,productos.nom_prod

Saludos cordiales

elisma22 14-12-2016 14:17:30

Cita:

Empezado por cloayza (Mensaje 511749)
Elisma22 no indicas que administrador de bases de datos que utilizas.

Si fuera Firebird, podrías hacer esto...

Código SQL [-]
select ventas.id_ven,ventas.plazo, descxven.id_prod, descxven.cant, productos.nom_prod,
sum(Descxven.cant ) AS total, 
decode(month(ventas.plazo),1,'enero',2,'febrero',3,'marzo',4,'abril',5,'mayo',6,'junio',7,'julio',8,  'agosto',9,'septiembre',10,'octubre',11,'noviembre',12,'diciembre') as mes
from (ventas inner join descxven on ventas.id_ven=descxven.id_ven)inner join productos
on descxven.id_prod=productos.id_prod 
 GROUP BY Productos.nom_prod, mes order by mes,productos.nom_prod

Saludos cordiales

Saludos, estoy usando mysql y mydac, voy a probar tu sugerencia y notifico como me fue.

elisma22 14-12-2016 17:07:07

Perdón el doble post, probé con la función DECODE que recomendaste, pero al parecer no funciona en mysql,pero al investigar encontré la función CASE la cual me funciono de maravillas.
Aquí dejo el código:
Código SQL [-]
select ventas.id_ven,ventas.plazo, descxven.id_prod, descxven.cant, productos.nom_prod,
sum(Descxven.cant ) AS total, 
case (month(ventas.plazo))when 1 then'ENERO' when 2 then'FEBERO' when 3 then'MARZO' 
when 4 then'ABRIL' when 5 then'MAYO' when 6 then'JUNIO' when 7 then'JULIO'
when 8 then'AGOSTO' when 9 then'SEPTIEMBRE' when 10 then'OCTUBRE' when 11 then'NOVIEMBRE'
when 12 then'DICIEMBRE' END as mes
from (ventas inner join descxven on ventas.id_ven=descxven.id_ven)inner join productos
on descxven.id_prod=productos.id_prod 
 GROUP BY Productos.nom_prod, mes order by mes desc, productos.nom_prod
Muchas gracias por tu respuesta, sin ella no hubiera sabido por donde empezar a investigar.


La franja horaria es GMT +2. Ahora son las 01:04:51.

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