Trazer null em between data
Galera,
Tenho a seguinte query
SELECT DATE_FORMAT(rel_nf.date,"%Y-%m") AS data_nota,
DATE_FORMAT(rel_nf.date,"%Y-%m") AS data_saida,
SUM(rel_nf.valor) AS valor_nota,
SUM(rel_nf.valor) AS vl_tot,
SUM(rel_nf.volume) AS volume_nota,
SUM(rel_nf.volume) AS volume_residuo,
UPPER(rel_nf.residuo_nome) AS residuo_nome
FROM rel_notas_fiscais AS rel_nf
INNER JOIN rel_residuos ON rel_residuos.id = rel_nf.id_residuo
INNER JOIN notas_fiscais AS nf ON rel_nf.id_nf = nf.id
WHERE `nf`.`id_gerador` = 10
AND `rel_nf`.`excluido` = 0
AND `rel_nf`.`reciclavel` = 0
AND `rel_residuos`.`peso` <> 'un'
AND `rel_nf`.`date` BETWEEN '2016-02-01' AND '2017-02-09'
GROUP BY rel_nf.date,
rel_nf.residuo_nome,
rel_nf.reciclavel
O problema é o seguinte, se no mes 02 eu nao tenho resultado ele não traz nada , apenas aonde tenho registro , e eu precisava que trazesse pelo menos com 0 ou nul porque essa query vai para um grafico e a linha precisa se manter constante pra vcs entederem
2016-09 REGISTRO1 REGISTRO 2 RESGITSRO3
2016-10 REGISTRO1 REGISTRO 2 RESGITSRO3
2016-11 REGISTRO1 REGISTRO 2 RESGITSRO3
Só que em fevereiro e janeiro de 2017 nao trouxe nada , precisava que me trouxesse assim por causa do between '2016-02-01' AND '2017-02-09'
2016-09 REGISTRO1 REGISTRO 2 RESGITSRO3
2016-10 REGISTRO1 REGISTRO 2 RESGITSRO3
2016-11 REGISTRO1 REGISTRO 2 RESGITSRO3
2016-12 NULL NULL NULL
2017-01 NULL NULL NULL
2017-02 NULL NULL NULL
Para manter a linha constante em 0 se não houver registro , acho que fui claro no meu problema, quem puder me ajudar agradeço !
Valeu
Discussão (10)
Carregando comentários...