[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