[firebase-br] Ajuda com INNER JOIN....

Felipe Aron felipearon em gmail.com
Qui Jan 24 10:13:56 -03 2008


Tente usar o DISTINCT ou o FIRST:

update REG54
> set REG54.DATA = (SELECT DISTINCT(REG50.DATA) FROM REG50
>                                 WHERE REG50.NUMERO = REG54.NUMERO
>                                      AND REG50.CNPJ        = REG54.CNPJ
>                                      AND REG50.NF <http://reg50.nf/>
     = REG54.NF <http://reg54.nf/>
>                                      AND REG50.SERIE       = REG54.SERIE)


update REG54
> set REG54.DATA = (SELECT FIRST 1 REG50.DATA FROM REG50
>                                 WHERE REG50.NUMERO = REG54.NUMERO
>                                      AND REG50.CNPJ        = REG54.CNPJ
>                                      AND REG50.NF <http://reg50.nf/>
     = REG54.NF <http://reg54.nf/>
>                                      AND REG50.SERIE       = REG54.SERIE)



2008/1/24 Pablo Gonçalves Bragança <gafamaey em gmail.com>:

> Bom Marcelo... Lembrou bem....
> REG54 são os itens e REG50 é a capa da nota.
> Se eu entendi bem o que vc me disse, o problema é pq tenho mais de uma
> linha
> (resultado) no meu segundo select. Só que, em 90% desse select vão haver
> duas linhas ou mais como resultado. rsrs...
> O Campo NUMERO é o campo da Nota Fiscal já. O que ocorre é que eu tenho
> apenas um NUMERO de Nota Fiscal (por ALIQUOTA de ICMS) no REG50 e dois ou
> mais NUMEROS de Nota Fiscal (por ALIQUOTA de ICMS) no REG54; Ou seja, para
> cada Item da Nota Fiscal, eu armazeno seu NUMERO.
> Então, mesmo fazendo o que vc me disse, continuou dando o mesmo erro....
> Mas vlw pela ajuda aê..... Se lembrar de mais alguma coisa para contornar
> o
> erro me fala.... Vou continuar na luta aqui!!!!
>
>
>
>
> --
> *****************************
> Att,
> Pablo Bragança
> Programador
> Adm. Redes de Comp.
> *****************************
>
>
> > ------------------------------
> >
> > Message: 14
> > Date: Wed, 23 Jan 2008 08:45:06 +1100
> > From: "Marcelo Papuska" <krpmate em gmail.com>
> > Subject: Re: [firebase-br] Ajuda com INNER JOIN....
> > To: FireBase <lista em firebase.com.br>
> > Message-ID:
> >         <f8f786df0801221345u4429454aw36818bcbfef947dd em mail.gmail.com>
> > Content-Type: text/plain; charset=ISO-8859-1
> >
> > Ola, o erro e simples de ser contornado.
> > O que esta acontecendo e que existe mais de um registro no segundo
> select,
> > entao
> > esta faltando mais algum vinculo.
> > se nao me falha a memoria, reg54 sao os items e reg50 sao as capas, esta
> > certo?
> > vc sabe qual o campo que fica o numero da NF / SERIE no reg50 e 54?
> >
> > basta colocalos na sintaxe abaixo.
> >
> >
> >
> > tenta assim:
> >
> > update REG54
> > set REG54.DATA = (SELECT REG50.DATA FROM REG50
> >                                 WHERE REG50.NUMERO = REG54.NUMERO
> >                                      AND REG50.CNPJ        = REG54.CNPJ
> >                                      AND REG50.NF            = REG54.NF
> >                                      AND REG50.SERIE       = REG54.SERIE
> )
> >
> > where REG54.DATA IS NULL
> >
> >
> > OUTRA DICA IMPORTANTISSIMA.
> > coloque a clausula where na ordem que esta o indice da tabela REG50
> > exemplo:
> > se seu indice estiver NUMERO + NF + SERIE + CNPJ
> > assim deve estar seu where.
> >
> > qq coisa posta novamente.
> >
> > abraco.
> >
> >
> > ------------------------------
> >
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



-- 
Com a força aprenda a suavidade. Através da suavidade a força prevalecerá!



Mais detalhes sobre a lista de discussão lista