rochajl 0 Denunciar post Postado Setembro 11, 2012 Necessito de uma ajuda. Tenho uma tabela TB_BAIRRO (id, bairro) e uma view BAIRRO_ENTREGA (bairro, quant, data) Estou utilizando o SQL abaixo que me retorna todos os bairros da tabela BAIRROS e mais 03 colunas TOTAL_MES01 com a quantidade de entregas no bairro do primeiro período, TOTAL_MES02 com a quantidade de entregas no bairro do segundo período e DIFERENCA, período 01 - período 02. O problema é que se não tenho entregas em determinado bairro em algum dos períodos o comando retorna NULL e necessito que retorne 0 (zero) para fazer a conta da DIFERENCA. Já pesquisei bastante, tentei com IF, CASE, IS NULL e nada. Segue comando: Select B.BAIRRO, B1.TOTAL_MES01, B2.TOTAL_MES02, (B1.TOTAL_MES01 - B2.TOTAL_MES02) AS DIFERENCA FROM TB_BAIRRO B LEFT JOIN (SELECT X.BAIRRO, coalesce(COUNT(X.QUANT),0) AS TOTAL_MES01 FROM BAIRRO_ENTREGA X LEFT JOIN TB_BAIRRO X1 ON (X1.BAIRRO = X.BAIRRO) WHERE X.Data between '$data1' and '$data2' GROUP BY 1) B1 ON (B1.BAIRRO = B.BAIRRO) LEFT JOIN(SELECT Y.BAIRRO, coalesce(COUNT(Y.QUANT),0) AS TOTAL_MES02 FROM BAIRRO_ENTREGA Y LEFT JOIN TB_BAIRRO Y1 ON (Y1.BAIRRO = Y.BAIRRO) WHERE Y.Data between '$data3' and '$data4' GROUP BY 1) B2 ON (B2.BAIRRO = B.BAIRRO) ORDER BY B.BAIRRO Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Setembro 11, 2012 coalesce COALESCE(B1.TOTAL_MES01,0) TOTAL_MES01 Compartilhar este post Link para o post Compartilhar em outros sites
rochajl 0 Denunciar post Postado Setembro 11, 2012 Funcionou, muito obrigado. Compartilhar este post Link para o post Compartilhar em outros sites