none
Resultado de Query RRS feed

  • Pergunta

  • Bom Dia,


    Tenho um query onde possui ou não registros, sendo assim preciso fazer um query onde quando não tiver registros apresentar as linhas com valor 0 . Preciso disso para criar relários no Crystal Report, pois quando não tem registros apresenta o campo em branco.

    Alguem poderia me ajudar?

     

     

    segunda-feira, 7 de fevereiro de 2011 11:15

Respostas

  • Segue um script.... talvez ajude..

    declare @tbProduto table (idProd int, nome varchar(20))
    insert into @tbProduto values (1,'Xbox')
    insert into @tbProduto values (2,'PS3')
    insert into @tbProduto values (3,'Wii')
    
    ;with cte_dados
    as
    (
    select idProd,nome from @tbProduto where idProd=20 --filtro para codigo que não existe
    union
    select 0,'0'
    )
    select top 1 * from cte_dados order by idProd desc
    

    att.
    Marcelo Fernandes


    MCP, MCDBA, MCSA, MCTS.
    Se útil, classifique!!!
    Me siga no twitter: @marcelodba

    • Sugerido como Resposta Eder Costa quinta-feira, 10 de fevereiro de 2011 13:25
    • Marcado como Resposta Eder Costa quinta-feira, 17 de fevereiro de 2011 13:56
    segunda-feira, 7 de fevereiro de 2011 18:23
    Moderador

Todas as Respostas

  • Rene

    segue um exemplo básico... onde listo vendas de 2012 que não existem... e é exibido o valor 0

    declare @tbProduto table (idProd int, nome varchar(20))
    declare @tbVenda table (idProd int, data datetime, valor decimal(5,2))
    insert into @tbProduto values (1,'Xbox')
    insert into @tbProduto values (2,'PS3')
    insert into @tbProduto values (3,'Wii')
    
    insert into @tbVenda values(1,'20110201',999.99)
    insert into @tbVenda values(3,'20110111',150.00)
    insert into @tbVenda values(2,'20101221',800.00)
    
    SELECT a.idProd, nome, isnull(valor,0) as Valor
    FROM @tbProduto a left join @tbVenda b on a.idProd=b.idProd
    and year(b.data)=2012
    

    Att.
    Marcelo Fernandes


    MCP, MCDBA, MCSA, MCTS.
    Se útil, classifique!!!
    Me siga no twitter: @marcelodba

    segunda-feira, 7 de fevereiro de 2011 11:31
    Moderador
  • Marcelo,

    Talvez eu tenha expressado mal, mas o que preciso é quando o resulta do SELECT não tiver registros apresentar um retorno com valor 0,00  em 1 linha apenas.

     

    Obrigado

     

    segunda-feira, 7 de fevereiro de 2011 11:52
  • Acrescente Union Select 0, 0, 0 (tantos zeros quantos forem os campos do Select) ao final do Select. O problema é que o registro com zeros irá aperecer no resultado também quando a instrução retornar registros, mas essa é uma situação que poderia ser controlada pela sua aplicação.
    segunda-feira, 7 de fevereiro de 2011 12:27
  • Rene,

    Neste caso você teria que testar quantas linhas estão sendo retornadas para depois você fazer a apresentação de valor 0,00.

    Desta forma, não seria no mesmo query, teria que implemantar uma análise condicional através do comando IF.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    segunda-feira, 7 de fevereiro de 2011 18:09
  • Segue um script.... talvez ajude..

    declare @tbProduto table (idProd int, nome varchar(20))
    insert into @tbProduto values (1,'Xbox')
    insert into @tbProduto values (2,'PS3')
    insert into @tbProduto values (3,'Wii')
    
    ;with cte_dados
    as
    (
    select idProd,nome from @tbProduto where idProd=20 --filtro para codigo que não existe
    union
    select 0,'0'
    )
    select top 1 * from cte_dados order by idProd desc
    

    att.
    Marcelo Fernandes


    MCP, MCDBA, MCSA, MCTS.
    Se útil, classifique!!!
    Me siga no twitter: @marcelodba

    • Sugerido como Resposta Eder Costa quinta-feira, 10 de fevereiro de 2011 13:25
    • Marcado como Resposta Eder Costa quinta-feira, 17 de fevereiro de 2011 13:56
    segunda-feira, 7 de fevereiro de 2011 18:23
    Moderador
  • Olá Rene!

    Não seria melhor você trabalhar com uma fórmula dentro do Suppress no Crystal Reports?

    att;

     

     


    Eder Costa - LATAM Forum Support Engineer
    Microsoft Corporation
    quinta-feira, 10 de fevereiro de 2011 13:25
  • Olá Rene!

    Obteve algum progresso?

    att;


    Eder Costa - LATAM Forum Support Engineer
    Microsoft Corporation
    segunda-feira, 14 de fevereiro de 2011 18:17