Ajuda intervalo de data em gráfico

6 respostas
W

Estou criando um relatório com gráfico no ireport, gostaria de mostrasse o total de produtos em um determinado tempo quando é no mesmo ano eu consigo mas se eu quiser por exemplo de 11/2011 a 02/2012 não consigo. Segue consulta sql que consigo fazer do mesmo ano que poderia mudar para dar certo , ja criei um parametro ano2 SELECT MONTH(p.data_inicio) as mes, YEAR(data) as ano, COUNT(*) as total FROM produtos GROUP BY MONTH(data) HAVING ano=$P{ano1} AND mes BETWEEN $P{mes1} AND $P{mes2}

6 Respostas

A

podes fazer algo assim:

SELECT COUNT(*) as cont,
            TO_CHAR(data, 'MM/YYYY'),
            TO_CHAR(data, 'YYYYMM')
   FROM produtos
 WHERE data BETWEEN TO_DATE('03/2011', 'MM/YYYY')  AND TO_DATE('02/2012', 'MM/YYYY')
 GROUP BY TO_CHAR(data, 'MM/YYYY'), TO_CHAR(data, 'YYYYMM')
 order by 3

Avila

W

Deu esse erro no mysql
#1305 - FUNCTION madi.TO_CHAR does not exist

A

Fiz esta query no ORACLE…não tenho mysql aqui no serviço, mas pesquisando na internet acho que no lugar do TO_CHAR tem que usar DATE_FORMAT(campo , '%d/%m/%Y)

Avila

W

No mysql funcionou, fiz assim problema agora ta na hora de passar pra coordenada do graficoSELECT COUNT(*) AS total, DATE_FORMAT(data,'%Y-%m') as mes FROM produtos WHERE data BETWEEN STR_TO_DATE('10/2011','%m/%Y') AND STR_TO_DATE('02/2012','%m/%Y') GROUP BY DATE_FORMAT(data,'%Y-%m')

A

qual problemas estás tendo em popular no gráfico os valores?

não mexo com gráficos no IReport a um tempinho mas posso dar uma olhada aqui…

Avila

W

Eu que tava errando na hora de passar a coordenada, deu certo valeu pela ajuda

Criado 30 de novembro de 2012
Ultima resposta 30 de nov. de 2012
Respostas 6
Participantes 2