[firebase-br] RES: RES: RES: Update entre tabelas.

Daniel Reis daniellcr em yahoo.com.br
Qua Fev 19 15:31:38 -03 2014


Muito obrigado, deu tudo certo conforme vocês informaram.

Daniel Reis.

-----Mensagem original-----
De: lista [mailto:lista-bounces em firebase.com.br] Em nome de Wilson Rosa
Enviada em: quinta-feira, 13 de fevereiro de 2014 12:37
Para: FireBase
Assunto: Re: [firebase-br] RES: RES: Update entre tabelas.

Daniel,

o que o Luís sugeriu está quase certo apenas precisa eliminar a tabela
TITULOS da cláusula FROM do SUB-SELECT, assim o SUB-SELECT irá se relacionar
com a tabela do UPDATE, ou seja os campos da tabela TITULOS informados no
WHERE do SUB-SELECT tem que ser da tabela que será atualizada pelo UPDATE:

update TITULOS set TITULOS.DATABAIXA =
(
select
             max(BAIXAS.DATABAIXA)
from
             BAIXAS
where
             TITULOS.CODCLI         = BAIXAS.CODCLI        and
             TITULOS.CODTITULO = BAIXAS.CODTITULO and
             TITULOS.DATAEMISS  = BAIXAS.DATAEMISS  and
             TITULOS.SEQBAI          = BAIXAS.SEQBAI
)
where
             TITULOS.VALORBAIXA > 0





*Wilson Rosawsrosa em gmail.com <wsrosa em gmail.com>*



Em 13 de fevereiro de 2014 18:24, Daniel Reis
<daniellcr em yahoo.com.br>escreveu:

> Luiz,
>
> Existem alguns clientes que possuem vários títulos com mais de uma 
> baixa por titulo. Testei como você sugeriu, porém, o select pegou a 
> última data e aplicou em todos os títulos.
>
> Preciso pegar um titulo, verificar a ultima data que foi baixado e 
> gravar esta data. E assim por diante titulo por titulo.
>
> Obrigado.
> Daniel.
>
> -----Mensagem original-----
> De: lista [mailto:lista-bounces em firebase.com.br] Em nome de Luis 
> Enviada em: quarta-feira, 12 de fevereiro de 2014 16:27
> Para: 'FireBase'
> Assunto: [firebase-br] RES: Update entre tabelas.
>
> Não sei se te ajuda, mas assim creio que irá pegar a última data do 
> pagamento para o titulo
>
>
> update TITULOS set TITULOS.DATABAIA = (select max(BAIXAS.DATABAIXA) 
> from TITULOS, BAIXAS where
>
>     TITULOS.CODCLI = BAIXAS.CODCLI
>
> and TITULOS.CODTITULO = BAIXAS.CODTITULO
>
> and TITULOS.DATAEMISS = BAIXAS.DATAEMISS
>
> and TITULOS.SEQBAI          = BAIXAS.SEQBAI
>
> ) where TITULOS.VALORBAIXA > 0
>
>
> -----Mensagem original-----
> De: lista [mailto:lista-bounces em firebase.com.br] Em nome de Daniel 
> Reis Enviada em: quinta-feira, 13 de fevereiro de 2014 17:11
> Para: 'FireBase'
> Assunto: [firebase-br] Update entre tabelas.
>
>
>
> Olá! Uma ajuda por favor.
>
>
>
>
>
> TABELA TITULOS
>
> CODCLI                CODTITULO                        VALTITULO
> DATAEMISS       DATAVENC         DATABAIXA       SEQBAI
>
> 2000                      10001A                                30,00
> 01/09/2013         01/10/2013                                        A
>
> 2000                      10001B                                 30,00
> 01/09/2013         01/11/2013                                        B
>
> 2000                      10001C                                 30,00
> 01/09/2013         01/12/2013                                        A
>
>
>
>
>
> TABELA BAIXAS
>
> CODCLI                CODTITULO                        VALTITULO
> DATAEMISS       DATAVENC         DATABAIXA       VALORBAIXA
> SEQBAI
>
> 2000                      10001A                                30,00
> 20130901             20131001             20131003             30,00
> A
>
> 2000                      10001B                                 30,00
> 20130901             20131101             20131102             25,00
> A
>
> 2000                      10001B                                 30,00
> 20130901             20131101             20131113             05,00
> B
>
> 2000                      10001C                                 30,00
> 20130901             20131201             20131205             30,00
> A
>
>
>
> Preciso pegar a DATABAIXA da tabela BAIXAS e gravar no campo DATABAIXA 
> da tabela TITULOS. O título 10001B possui duas baixas, então preciso 
> pegar a data da última baixa (20131113). Como são vários títulos e 
> várias datas de baixa a query que eu fiz retorna vários resultados dando
erro no update.
> multiple rows in singleton select.
>
>
>
> update TITULOS set TITULOS.DATABAIA = (select BAIXAS.DATABAIXA from 
> TITULOS, BAIXAS where
>
>     TITULOS.CODCLI = BAIXAS.CODCLI
>
> and TITULOS.CODTITULO = BAIXAS.CODTITULO
>
> and TITULOS.DATAEMISS = BAIXAS.DATAEMISS
>
> and TITULOS.SEQBAI          = BAIXAS.SEQBAI
>
> ) where TITULOS.VALORBAIXA > 0
>
>
>
> Obrigado a todos.
>
>
>
> Daniel Reis.
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br 
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
> -----
> Nenhum vírus encontrado nessa mensagem.
> Verificado por AVG - www.avgbrasil.com.br
> Versão: 2014.0.4259 / Banco de dados de vírus: 3697/7087 - Data de
> Lançamento: 02/12/14
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br 
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br 
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br Para
saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista