Update com Join
Pessoal,
Gostaria de saber se é possível fazer um update da seguinte forma:
Tenho três tabelas:
1) Horarios
2) Funcionários
3) Cartão Ponto
Cada vez que o horário for alterado, todos os cartões ponto dos funcionários que usam este horário deverão ser atualizados.
Nesse caso, vou ter mais de um funcionário no update, o que dá o erro ´multiple rows´.
Seria possível usar join em um update?
Pensei em colocar o update dentro de um laço while, isso é recomendado?
Gostaria de saber se é possível fazer um update da seguinte forma:
Tenho três tabelas:
1) Horarios
2) Funcionários
3) Cartão Ponto
Cada vez que o horário for alterado, todos os cartões ponto dos funcionários que usam este horário deverão ser atualizados.
Nesse caso, vou ter mais de um funcionário no update, o que dá o erro ´multiple rows´.
Seria possível usar join em um update?
Pensei em colocar o update dentro de um laço while, isso é recomendado?
Adrinei
Curtidas 0
Respostas
Adrinei
28/10/2005
Consegui fazer funcionar !!!
UPDATE TABELA1 SET CAMPO1=1
WHERE (TABELA1) IN (SELECT CAMPO2 FROM TABELA2 WHERE CAMPO3=1)
Achei a resposta em http://fr.wikipedia.org/wiki/SQL
Falow
UPDATE TABELA1 SET CAMPO1=1
WHERE (TABELA1) IN (SELECT CAMPO2 FROM TABELA2 WHERE CAMPO3=1)
Achei a resposta em http://fr.wikipedia.org/wiki/SQL
Falow
GOSTEI 0
Bruno Belchior
28/10/2005
tem certeza que é a Tabela1 que deve ser colocada no comando where in?
GOSTEI 0
Adrinei
28/10/2005
Não... foi mal, na realidade é Campo2
UPDATE TABELA1 SET CAMPO1=1
WHERE (CAMPO2) IN (SELECT CAMPO2 FROM TABELA2 WHERE CAMPO3=1)
UPDATE TABELA1 SET CAMPO1=1
WHERE (CAMPO2) IN (SELECT CAMPO2 FROM TABELA2 WHERE CAMPO3=1)
GOSTEI 0