Ir para conteúdo
Fórum Script Brasil
  • 0

Updade com subselect


Flavio Mania

Pergunta

Boa noite, tenho duas tabelas um chamada produto e outra itempedido, na tabela produto tenho um cadastro de produtos e na itempedido o cadastro dos pedidos e seus respectivos produtos, bom o que eu quero fazer é atualizar o preço dos produtos na tabela produto que ainda não estão vinculados na tabela itempedido.

Segue o select que estou tentando fazer;

update produto as p
set p.valorUnitario=20
where p.idproduto not in(select idproduto from produto where idproduto not in(select idproduto from itempedido));

Esse select esta dando o seguinte: Error Code: 1093. You can't specify target table 'p' for update in FROM clause

Porem ao executar esse "select idproduto from produto where idproduto not in(select idproduto from itempedido)" sozinho ele me retorna exatamente o que eu quero os código dos produtos que realmente não esta mesmo na tabela itempedido que no caso são dois no momento o 87 e 89

Se alguém puder me ajudar.

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Se você está tentando atualizar os valores de Produtos que não tem item de pedido, então o select deveria ser assim:

UPDATE produto p
LEFT JOIN itempedido ip ON ip.idProduto = p.idProduto
set p.valorUnitario=20
where ip.idproduto IS NULL;

 

 

Link para o comentário
Compartilhar em outros sites

  • 0
2 horas atrás, Denis Courcy disse:

Se você está tentando atualizar os valores de Produtos que não tem item de pedido, então o select deveria ser assim:


UPDATE produto p
LEFT JOIN itempedido ip ON ip.idProduto = p.idProduto
set p.valorUnitario=20
where ip.idproduto IS NULL;

 

 

Oi obrigado mas tentei da forma como você passou e não deu certo esta dando agora esse erro;

Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Editor and reconnect.

Como sou novo em mysql estou meio perdido.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...