Boa tarde, tenho uma consulta onde traz valores de janeiro a dezembro, por exemplo se março não trazer nenhum registro, vai puliar março e vai aparecer abril no lugar na consulta.
Gostaria de fazer uma rotina que adicione o mes que falta e colocar no campo valor 0
pesquise a funcao do SC: sc_exec_sql()
Dê o exemplo da sua consulta para ajuda!
Para resolver esse tipo de problema já utilizei de coalesce até union.
Tenho uma consulta onde passo periodos como parametro, exemplo: no formulario tenho o campo periodo onde tem 2010,2011,2012,2013 .
Quando seleciono 2012 por exemplo, no select coloca para trazer de 201201 a 201212.
quando não tem um mes na minha consulta ele pula o mes, exemplo 201202 201203 201205.
Até ai normal no select.
Só que quando não tiver valor no mes quero adicionar o mes e colocar o valor 0.
para falar que aquele mes não teve valor, em vez de trazer nada .
alguma ajuda?
Raminelli,
Porque não faz a consulta mês a mês?
SELECT
(SELECT COUNT() FROM TABELA WHERE MONTH(MES) = 1) AS JAN,
(SELECT COUNT() FROM TABELA WHERE MONTH(MES) = 2) AS FEV,
(SELECT COUNT() FROM TABELA WHERE MONTH(MES) = 3) AS MAR,
…
(SELECT COUNT() FROM TABELA WHERE MONTH(MES) = 12) AS DEZ
FROM
TABELA
WHERE
MONTH(MES) >= MES AND MONTH(MES) <= MES AND YEAR(ANO) = ANO
Leandro Auler
O problema é que não vai trazer nada, meu objetivo é completar as informações e colocar 0 manualmente
Vai retornar zero se o count for zero.
No meu select isso não encaixa, como eu faço por codigo uma função onde ele ve todos os meses e se não tiver um, ele insere manualmente os valores?