none
select retornando NULL pois um dado não é igual como tratar isso RRS feed

  • Pergunta

  • Bom dia...! Será que alguém pode me ajudar por favor... Tenho o select abaixo e o que acontece é o seguinte, o campo(ntc.Operacao) que declarei para exibição está retornando o valor 'NULL', pois no relacionamento entre as tabelas NFISCALITEM AS nfi com NATTRIBUTACAOCLAS AS ntc (  nfi.ClasFiscal = ntc.ClasFiscal ) os valores dos dois campos tem que ser iguais para retornar o valor ok, até ai beleza. Por causa de uma tratativa do ERP não é necessário cadastrar as classificações fiscais de todos os produtos se utilizar uma CFOP padrão(EX:5.102), cadastra-se somente uma classificação também padrão('0000.00.00'). E como a classificação do item da nota é (EX: '3917.40.90') e no cadastro de classificação esta cadastrado somente a padrão('0000.00.00') sendo diferente do item da nota, fazendo o select retornar 'NULL'. Tentei tratar com o condicional(CASE) mas não esta rolando. agradeço desde já qualquer ajuda prestada...!

    ============================

    SELECT 
    (CASE 
    WHEN 
    nfi.ClasFiscal <> ntc.ClasFiscal 
    THEN 
    ntc.Operacao 
    WHEN 
    nfi.ClasFiscal = ntc.ClasFiscal 
    THEN 
    ntc.Operacao 
    END) 
    AS Operacao

    FROM
    NFiscal nf INNER JOIN NFiscalItem nfi 
    ON nf.Empresa = nfi.Empresa AND 
      nf.Filial = nfi.Filial AND 
      nf.Cgcemissor = nfi.Cgcemissor AND 
      nf.Series = nfi.Serie AND 
      nf.NumNF = nfi.NumNF LEFT OUTER JOIN
    NatTributacao nt
    ON nfi.NOPER = nt.Noper AND 
      nfi.Codtributo = nt.CodTributo AND 
      nf.EstTrib = nt.UfDestino LEFT OUTER JOIN
    NatTributacaoClas ntc
    ON nt.Noper = ntc.Noper AND 
      nt.UfOrigem = ntc.UfOrigem AND 
      nt.UfDestino = ntc.UfDestino AND 
      nt.CodTributo = ntc.CodTributo AND 

    --==É POR CAUSA DESSE NESSE RELACIONAMENTO QUE RETORNA 'NULL', POIS OS VALORES NÃO SÃO IGUAIS==  

      nfi.ClasFiscal = ntc.ClasFiscal 

    ==============================

     
    terça-feira, 15 de outubro de 2013 15:16

Respostas

Todas as Respostas