Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

berkowitz

UPDATE com sub-select

Recommended Posts

Fala pessoal... firme???PROBLEMA:Preciso corrigir uma coluna da tabela de usuários de acordo com a coluna da tabela de funcionários e não estou conseguindo! É o seguinte:Na tabela da USUARIOS tenho uma coluna chamada IDUSUARIO. Vou relacionar ela com a coluna IDFUNCIONARIO da tabela FUNCIONARIOS para eu poder pegar os dados do funcionário que tem cadastro como USUARIO.Porém, como trouxe os dados do ACCESS, os IDs estão bem diferentes.... então preciso atualizar de acordo com a tabela de FUNCIONARIOS. Para isso fiz uma query para comparar as duas tabelas de acordo com o PRONTUARIO. Ficou assim: SELECT f.idFuncionario, u.idUsuario, f.nome AS [Nome do Funcionário], f.prontuario AS [Prontuário], f.email AS [E-Mail], CAST(DAY(aniversario) AS nvarchar(2)) + '/' + CAST(MONTH(aniversario) AS nvarchar(2)) AS [Data do Aniversário], u.login AS [usuário], u.senha AS [senha] FROM funcionarios f RIGHT JOIN usuarios u ON (LEFT(f.prontuario, 6) = u.login)Agora vem o problema: Como faço um UPDATE na tabela USUARIOS para alterar os valores da coluna IDUSUARIO de acordo com os da coluna IDFUNCIONARIO da tabela FUNCIONARIOS que a query acima trouxe?OBS.: A coluna IDUSUARIO não é PRIMARY KEY, então todos os valores estão iguais a 0 (zero). VALEW!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, tenta isso, se não der esse é o caminho.

 

Fiz essa query no SQL SERVER. Qualquer coisa prende o grito.

 

 

UPDATE USUARIO SETIDUsuario =  (SELECT IDFUNCIONARIO FROM FUNCIONARIO )WHERE UPPER(Usuário) IN ( SELECT UPPER(Nome do Funcionário) FROM FUNCIONARIO )

 

Abração

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não rolou cara.... não afetou nenhuma coluna!

Fiz assim:

 

UPDATE usuarios SETidUsuario = (SELECT idFuncionario FROM funcionarios )WHERE UPPER(login) IN ( SELECT UPPER(nome) FROM funcionarios )

Compartilhar este post


Link para o post
Compartilhar em outros sites

AEEEEE!!! CONSEGUI!!!!!FIz assim:UPDATE usuarios set idUsuario=f.idFuncionarioFROM funcionarios f RIGHT JOIN usuarios u ON (LEFT(f.prontuario, 6) = u.login)WHERE f.idFuncionario IS NOT NULLValew o help!!!ABRAX!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.