UPDATE BASEADO EM UM TABELA
Boa tarde.
Preciso fazer um update em uma tabela, mas os dados que deverao ser inseridos serao coletados a partir de um select feito em uma outra tabela exatamente igual.
Alguem poderia me ajudar a fazer esta operacao?
Obrigado.
Preciso fazer um update em uma tabela, mas os dados que deverao ser inseridos serao coletados a partir de um select feito em uma outra tabela exatamente igual.
Alguem poderia me ajudar a fazer esta operacao?
Obrigado.
Willyan Fernandes
Curtidas 0
Melhor post
Fabiano Carvalho
30/07/2014
Faça o cruzamento da tabela utilizando INNER JOIN
GOSTEI 1
Mais Respostas
Willyan Fernandes
30/07/2014
Tentei o comando abaixo
update producao set producao.ficha_tecnica =
(SELECT fichas_tecnicas.ficha_tecnica
FROM fichas_tecnicas
INNER JOIN PRODUCAO
ON fichas_tecnicas.ficha_tecnica=PRODUCAO.ficha_tecnica
WHERE producao.PRODUTO= fichas_tecnicas.produto )
Porem tive o seguinte retorno:
multiple rows in singleton select.
update producao set producao.ficha_tecnica =
(SELECT fichas_tecnicas.ficha_tecnica
FROM fichas_tecnicas
INNER JOIN PRODUCAO
ON fichas_tecnicas.ficha_tecnica=PRODUCAO.ficha_tecnica
WHERE producao.PRODUTO= fichas_tecnicas.produto )
Porem tive o seguinte retorno:
multiple rows in singleton select.
GOSTEI 0
William
30/07/2014
A subquery pode retornar apenas 1 registro, no seu caso está retornando múltiplas linhas!!
Reveja a cláusula WHERE.
Reveja a cláusula WHERE.
GOSTEI 0
Isaac Jose
30/07/2014
Tentei o comando abaixo
update producao set producao.ficha_tecnica =
(SELECT fichas_tecnicas.ficha_tecnica
FROM fichas_tecnicas
INNER JOIN PRODUCAO
ON fichas_tecnicas.ficha_tecnica=PRODUCAO.ficha_tecnica
WHERE producao.PRODUTO= fichas_tecnicas.produto )
Porem tive o seguinte retorno:
multiple rows in singleton select.
update producao set producao.ficha_tecnica =
(SELECT fichas_tecnicas.ficha_tecnica
FROM fichas_tecnicas
INNER JOIN PRODUCAO
ON fichas_tecnicas.ficha_tecnica=PRODUCAO.ficha_tecnica
WHERE producao.PRODUTO= fichas_tecnicas.produto )
Porem tive o seguinte retorno:
multiple rows in singleton select.
nao conheço o Fb mais achei esse exemplo aqui espero que ajude
UPDATE
Cliente Cli
SET
DataUltimaCompra =
(SELECT Max(DataEntrada) FROM Pedidos Ped WHERE Ped.CodCliente =
Cli.CodCliente);
GOSTEI 0
Willyan Fernandes
30/07/2014
Infelizmente não deu certo.
O comando roda, porem nao preenche o campo na tabela producao.
O comando roda, porem nao preenche o campo na tabela producao.
GOSTEI 0
Isaac Jose
30/07/2014
Infelizmente não deu certo.
O comando roda, porem nao preenche o campo na tabela producao.
O comando roda, porem nao preenche o campo na tabela producao.
vc ja rodou o sql e ele esta trazendo o valor correto?
GOSTEI 0
Willyan Fernandes
30/07/2014
SIM!!!
GOSTEI 0
Isaac Jose
30/07/2014
SIM!!!
:(
veja se ajuda ...http://comments.gmane.org/gmane.comp.db.firebase.portuguese/89192
GOSTEI 0
Alisson Santos
30/07/2014
Verifique se o sql está retornando todos os valores?
Pois quando utiliza o inner join faz uma ligação forte que precisa os dados conter nas duas tabelas.
Se for o caso posso te auxiliar com um acesso remoto me mostrando a tabela ou me passe a estrutura da tabela que monto o sql e te mando ele funcionando.
Pois quando utiliza o inner join faz uma ligação forte que precisa os dados conter nas duas tabelas.
Se for o caso posso te auxiliar com um acesso remoto me mostrando a tabela ou me passe a estrutura da tabela que monto o sql e te mando ele funcionando.
GOSTEI 0