none
Joins entre tabelas RRS feed

  • Pergunta

  • Pessoal, estou com o seguinte problema...

    Numa tabela de Nota Fiscal, campo NRONOTA é integer e de ATÉ 6 caracteres, e uma outra tabela de Contas a Receber, campo NRODUPLICATA é varchar e 6 caracteres.

    Acontece que quando emito uma NF, ele gera o número 1  na tabela de Nota Fiscal e 000001 na tabela de Contas a Receber.

    Como posso fazer esse join?

    Utilizei o seguinte código e não deu certo:

    "

    select NRONOTA as "NF",
              NRODUPLICATA as "Banco"
    from notafiscal
    inner join contasreceber on (NRODUPLICATA = cast(NRONOTA as varchar(6))

    "

    quarta-feira, 16 de outubro de 2013 14:04

Respostas

  • Tenta assim:

    select NRONOTA as "NF",
              NRODUPLICATA as "Banco"
    from notafiscal
    inner join contasreceber on (NRODUPLICATA = RIGHT('00000'+LTRIM(RTRIM(cast(NRONOTA as varchar(6)))),6)

    Deve funcionar,  talvez precise de alguma adaptação.

    Abraço!


    "A vida é um paraíso, mas os homens não o sabem e não se preocupam em sabê-lo." Fiodor Dostoievski

    • Sugerido como Resposta Roberson Naves quarta-feira, 16 de outubro de 2013 14:36
    • Marcado como Resposta Bruno Rossiter quarta-feira, 16 de outubro de 2013 17:21
    quarta-feira, 16 de outubro de 2013 14:13

Todas as Respostas

  • Tenta assim:

    select NRONOTA as "NF",
              NRODUPLICATA as "Banco"
    from notafiscal
    inner join contasreceber on (NRODUPLICATA = RIGHT('00000'+LTRIM(RTRIM(cast(NRONOTA as varchar(6)))),6)

    Deve funcionar,  talvez precise de alguma adaptação.

    Abraço!


    "A vida é um paraíso, mas os homens não o sabem e não se preocupam em sabê-lo." Fiodor Dostoievski

    • Sugerido como Resposta Roberson Naves quarta-feira, 16 de outubro de 2013 14:36
    • Marcado como Resposta Bruno Rossiter quarta-feira, 16 de outubro de 2013 17:21
    quarta-feira, 16 de outubro de 2013 14:13
  • Bom dia Bruno,

    Se o campo sempre representar um valor inteiro, pode tentar fazer o oposto do que você fez e aplicar o CAST para INT no campo que é VARCHAR.

    Att.


    Guilherme Silva Cardoso

    • Sugerido como Resposta Roberson Naves quarta-feira, 16 de outubro de 2013 14:36
    quarta-feira, 16 de outubro de 2013 14:30
  • Obrigado... funcionou certinho.
    quarta-feira, 16 de outubro de 2013 17:22