ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

[resolvido] SQL para preencher codigo baseado no nome

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
renanbg
Colaborador
Colaborador


Registrado: Quinta-Feira, 12 de Abril de 2012
Mensagens: 1158

MensagemEnviada: Qui Mar 16, 2017 8:21 am    Assunto: [resolvido] SQL para preencher codigo baseado no nome Responder com Citação

Amigos, estou excluindo os campos CEDENTE e SACADO de um sistema antigo, pois nessas tabelas ja existem os campos COD_CEDENTE e COD_SACADO.

Porém, muitos desses codigos estão vazios e antes de fazer a exclusão dos nomes, preciso buscar os seus valores nas tabelas TBCEDENTES e TBSACADOS.

Alguem já precisou montar uma SQL assim? Poderia me dar umas dicas?


Editado pela última vez por renanbg em Qui Mar 16, 2017 4:17 pm, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
anderbelluno
Colaborador
Colaborador


Registrado: Quarta-Feira, 23 de Novembro de 2011
Mensagens: 1030
Localização: Cianorte-PR

MensagemEnviada: Qui Mar 16, 2017 8:30 am    Assunto: Responder com Citação

Amigo, não entendi muito bem oque você precisa. Poderia explicar melhor.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
leo_cj
Colaborador
Colaborador


Registrado: Sábado, 26 de Março de 2011
Mensagens: 1335

MensagemEnviada: Qui Mar 16, 2017 8:43 am    Assunto: Responder com Citação

Essas tabelas são vinculadas por algum código em comum?

se forem, você pode utilizar os comandos Inner Join e Left Join juntamente com seu delete.

links de como utilizar joins no delete:
http://stackoverflow.com/questions/16481379/how-to-delete-using-inner-join-with-sql-server
https://lealpjm.wordpress.com/2012/04/05/delete-com-inner-join/
http://www.devmedia.com.br/uso-de-joins-em-instrucoes-update-e-delete/9444
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
renanbg
Colaborador
Colaborador


Registrado: Quinta-Feira, 12 de Abril de 2012
Mensagens: 1158

MensagemEnviada: Qui Mar 16, 2017 10:41 am    Assunto: Responder com Citação

Olá amigos.

A estrutura da tabela de CEDENTES É ESSA:

Código:
CODIGO
NOME_CEDENTE
STATUS


a estrutura da tabela CONTAS_RECEBER é essa:

Código:
CODIGO
COD_CEDENTE
CEDENTE
VALOR
VENCIMENTO


Na tabela de CONTAS_RECEBER, existem varios registros onde o campo COD_CEDENTE está vazio.
Então, preciso fazer um update buscando o CODIGO na tabela de CEDENTES. o meu campo de ligação vai ser o CEDENTE na tabela CONTAS_RECEBER.

Depois de atualizar, vou excluir esse campo CEDENTE, pois só causa inconsistencia.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Qui Mar 16, 2017 11:16 am    Assunto: Responder com Citação

Bom dia,

Se o banco de dados utilizado for o Firebird e o campo Cod_Cedente estiver nulo na tabela Contas_Receber experimente dessa forma:

Código:
update Contas_Receber as cr
set Cod_Cedente = (select ce.Codigo from Cedentes as ce
                   where ce.Nome_Cedente = cr.Cedente)
where Cod_Cedente is null


Espero que ajude


Editado pela última vez por imex em Ter Out 03, 2023 2:42 pm, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
renanbg
Colaborador
Colaborador


Registrado: Quinta-Feira, 12 de Abril de 2012
Mensagens: 1158

MensagemEnviada: Qui Mar 16, 2017 4:17 pm    Assunto: Responder com Citação

imex, desculpe a falta de informações.

É firebird e os campos estão nulos.

Obrigado pela força, deu certo.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB