PDA

Ver la Versión Completa : cambiar texto de gruopheader en fastreport 5.0


elisma22
14-12-2016, 01:29:59
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:
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...


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
Elisma22 no indicas que administrador de bases de datos que utilizas.

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


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:
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.