Como consultar várias somas do mesmo item usando SQL no iReport
Estou criando um JasperReport usando o iReport e, como tal, estou limitado * a uma consulta SQL.
Eu tenho uma tabela 'estatísticas', com um 'nome' (VARCHAR), 'count' (INTEGER) e 'datetime' (DATETIME) colunas.
É simples o suficiente para obter a soma da coluna 'contar' quando o 'nome' foi 'teste' para o último dia, e similarmente para a última semana e mês (veja abaixo).
Instrução SQL de trabalho:
<code> SELECT SUM(count)as 'today' FROM statistics WHERE name = "test" AND $P{oneDayAgo} <= datetime AND datetime <= $P{now} </code>No entanto, como só tenho uma instrução SQL para trabalhar, preciso combiná-las de alguma forma. Eu tentei usar UNION (como abaixo), mas isso não funcionou.
Declaração SQL com falha:
<code>SELECT SUM(count)as 'today' FROM statistics WHERE name = "test" AND $P{oneDayAgo} <= datetime AND datetime <= $P{now} UNION SELECT SUM(count)as 'thisWeek' FROM statistics WHERE name = "test" AND $P{oneWeekAgo} <= datetime AND datetime <= $P{now} UNION SELECT SUM(count)as 'thisMonth' FROM statistics WHERE name = "test" AND $P{oneMonthAgo} <= datetime AND datetime <= $P{now} </code>
(*) é possível adicionar consultas adicionais somente para gráficos ou tabulação cruzada, e nenhuma delas serve ao meu propósito.