[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