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

Wilson Rosa wsrosa em gmail.com
Qui Fev 13 13:37:12 -03 2014


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
>



Mais detalhes sobre a lista de discussão lista