Fórum Update - Dados de uma Tabela para Outra.... #401482
23/05/2011
0
Bom dia pessoal
venho pedir uma força para fazer um UPDATE com o firebird, o negocio é o seguinte
Tenho duas tabelas: NF e CNOTA
Precido atualizar os dados da tabela CNOTA, conforme os dados da tabela NF,
Esta acontecendo que temos Notas Ficais com Numero igual mas com serie diferente ( normal )Entao preciso atualizar a tabela de Contra Notas ( CNOTA ) conforme os dados da tabela NF
Tenho o seguinte esquema
[b]Tabela NF[/b] num_nf serie_nf
[b]Tabela CNOTA[/b]numero_cnotaserie_cnotanf_num ( conforme dados da tabela NF )nf_num_serie ( conforme os dados da tabela NF )
Preciso atualizar as SERIES das Notas e nao estou conseguindo.... segue o comando que estou usando:Sabendo que Existem mais de uma nota fiscal(nf.num_nf) mas com serie diferente( nf.serie_nf ) .
UPDATE cnota SET cnota.nf_num_serie = (SELECT nf.serie_nf FROM nf, cnota WHERE nf.num_nf = cnota.nf_num)
mas aparece o seguinte erro no IB Expert : [b]multiple rows in singleton select.[/b]Provavelmente por existir Notas Repitidas na tabela NF mas com serie diferente.Todos as dados do campos nf_num_serie da tabela CNOTA estao vazios, pois o campo é novo
Como posso atualizar isso?
ObrigadoWellyngton
Atualizando...Segue imagem para dar uma ideia no que preciso fazer
Wellyngton
Curtir tópico
+ 0Posts
23/05/2011
Rafael Mattos
UPDATE cnota c
SET c.nf_num_serie = (SELECT nf.serie_nf FROM nf
WHERE nf.num_nf = c.nf_num)
Gostei + 0
23/05/2011
Rafael Mattos
UPDATE cnota c
SET c.nf_num_serie = (SELECT nf.serie_nf FROM nf
WHERE nf.num_nf = c.nf_num)
ou caso a tabela nf tenha mais de um registro com o mesmo nf_num
UPDATE cnota c
SET c.nf_num_serie = (SELECT first 1nf.serie_nf FROM nf
WHERE nf.num_nf = c.nf_num)
Gostei + 0
23/05/2011
Wellyngton
estou quase conseguindo eu acho hehehe
agora acontece o seguinte... Tentei com o comando que vc me passou...
ele fica trabalhando no banco,,,, mas nao conclui.... parece que trava o banco
o que pode ser?... estou tentando em outra maquina aagora... pois tem 53mil registros.. para ver se funciona
obrigado
t+
Gostei + 0
23/05/2011
Rafael Mattos
estou quase conseguindo eu acho hehehe
agora acontece o seguinte... Tentei com o comando que vc me passou...
ele fica trabalhando no banco,,,, mas nao conclui.... parece que trava o banco
o que pode ser?... estou tentando em outra maquina aagora... pois tem 53mil registros.. para ver se funciona
obrigado
t+
tem trigger? ela pode deixar lento dependendo o que ela está fazendo, se tiver desativa ela e tenta de novo
Gostei + 0
25/05/2011
Emerson Nascimento
talvez pelos campos modelo_nf e modelo_cnota... não conheço suas tabelas então não tenho como dar palpite.
mas o correto seria relacionar pelo ID da nota.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)