Ir para conteúdo
Fórum Script Brasil
  • 0

Auto Fill


leonardomc

Pergunta

Olá pessoal, tudo bom?

Tenho um consulta de datas onde só aparece valores nela que não são null. Então gostaria de preencher esse valores null com meses para e que eles aparecessem na minha consulta ... tambem tem uma coluna quantidade que não apararece por estar null e gostaria que também nela aparecesse 0 ....

Muito obrigado a todos pela Atenção.

Leonardo.

EX:

id mes ano quantidade mesAno

2 6 2007 20 06-2007

4 7 2007 2 07-2007

20 10 2007 1 10-2007

34 5 2008 12 05-2008

50 10 2008 12 10-2008

Gostaria assim:

id mes ano quantidade mesAno

2 6 2007 20 06-2007

4 7 2007 2 07-2007

8 2007 0 08-2007

9 2007 0 09-2007

50 10 2007 1 10-2007

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Oi leonardomc!

Faça um teste da seguinte forma:

Select id, if(isnull(mes),'',mes) as mes, ano , if(isnull(quantidade),0,quantidade) as quantidade, mesAno

from sua_tabela;

Acho que assim você resolve este problema.

Como sugestão eu recomendaria que você evitasse a "gravação Null" definindo como Not Null o campo na criação da tabela, bem como um valor default para ele.

Na linguagem de programação que eu para trabalhar com o MySql, tem uma propriedade na livraria de conexão que é NullAsBlank:=true, isto retorna os campos que estão (Null como branco) "não escrito", você poderia ver se existe isto também na linguagem que você usa.

Um abraço!

Link para o comentário
Compartilhar em outros sites

  • 0

Olá kiko tipo

Eu estou com essa consulta para gerar relatórios pelo ireport

e tipo so iniciante e me passaram essa consulta super complicada.... e tenho de preenche la como falei ....

se possivel de uma olhada e veja se e possivel, adptar.... por que eu não consegui ... tae a consulta...

SELECT mdl_course.id, MONTH( FROM_UNIXTIME( timecreated, '%Y-%m-%d' ) ) as mes, YEAR(FROM_UNIXTIME( timecreated, '%Y-%m-%d' )) as ano, count(RIGHT(FROM_UNIXTIME( timecreated, '%d-%m-%Y' ),7)) as quantidade, RIGHT( FROM_UNIXTIME( timecreated, '%d-%m-%Y' ) , 7 ) AS mesAno FROM mdl_course WHERE mdl_course.id <>1 GROUP BY ano, mes ORDER BY ano, mes ASC

Link para o comentário
Compartilhar em outros sites

  • 0

Oi leonardomc

Usei a mesma string, só acrescentei a opção isnull.

SELECT mdl_course.id

, if(isnull(timecreated) , ' ' , MONTH( FROM_UNIXTIME( timecreated, '%Y-%m-%d' )) ) as mes

, YEAR(FROM_UNIXTIME( timecreated, '%Y-%m-%d' )) as ano

, if(isnull(timecreated) , 0 , count(RIGHT(FROM_UNIXTIME( timecreated, '%d-%m-%Y' ),7)) ) as quantidade

, RIGHT( FROM_UNIXTIME( timecreated, '%d-%m-%Y' ) , 7 ) AS mesAno

FROM mdl_course

WHERE mdl_course.id <>1

GROUP BY ano, mes

ORDER BY ano, mes ASC

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...