Update apartir de um select

Tenho a seguinte query, e gostaria que fazer um update na coluna estoque atual com o valor recebido em Total Ideal a partir da query abaixo.

Select
  produtos.codProduto,
  empresasprodutos.emprEstoqueInicialInventario As InventarioInicial,
  (Select Sum((round(IfNull(entradasprodutos.entrQuantidade, 1), 2) * round(IfNull(entradasprodutos.entrQuantidadeEmbalagem, 1), 2))) From entradasprodutos Left Join entradas On entradas.codEntradas = entradasprodutos.entrCodEntradas Left Join operacoescomprasvendas On operacoescomprasvendas.codOperacaoVenda = entradas.entrCodOperacaoVenda Where (entradasprodutos.entrCodProduto = produtos.codProduto) And (operacoescomprasvendas.operEstoque = 'Sim' Or operacoescomprasvendas.operEstoque Is Null) And (operacoescomprasvendas.operDevolucao = 'Não' Or operacoescomprasvendas.operDevolucao Is Null) And (operacoescomprasvendas.operTransferencia = 'Não' Or operacoescomprasvendas.operTransferencia Is Null) And (entradas.entrProcessado = 'Sim') And (entradas.entrCancelada = 'Não' Or entradas.entrCancelada Is Null) Group By entradasprodutos.entrCodProduto) As Entrada,
  (Select Sum((round(IfNull(entradasprodutos.entrQuantidade, 1), 2) * round(IfNull(entradasprodutos.entrQuantidadeEmbalagem, 1), 2))) From entradasprodutos Left Join entradas On entradas.codEntradas = entradasprodutos.entrCodEntradas Left Join operacoescomprasvendas On operacoescomprasvendas.codOperacaoVenda = entradas.entrCodOperacaoVenda Where (entradasprodutos.entrCodProduto = produtos.codProduto) And (operacoescomprasvendas.operEstoque = 'Sim' Or operacoescomprasvendas.operEstoque Is Null) And (operacoescomprasvendas.operDevolucao = 'Sim' Or operacoescomprasvendas.operDevolucao Is Null) And (operacoescomprasvendas.operTransferencia = 'Não' Or operacoescomprasvendas.operTransferencia Is Null) And (entradas.entrProcessado = 'Sim') And (entradas.entrCancelada = 'Não' Or entradas.entrCancelada Is Null) Group By entradasprodutos.entrCodProduto) As DevolucaoEntrada,
  (Select Sum((round(IfNull(entradasprodutos.entrQuantidade, 1), 2) * round(IfNull(entradasprodutos.entrQuantidadeEmbalagem, 1), 2))) From entradasprodutos Left Join entradas On entradas.codEntradas = entradasprodutos.entrCodEntradas Left Join operacoescomprasvendas On operacoescomprasvendas.codOperacaoVenda = entradas.entrCodOperacaoVenda Where (entradasprodutos.entrCodProduto = produtos.codProduto) And (operacoescomprasvendas.operEstoque = 'Sim' Or operacoescomprasvendas.operEstoque Is Null) And (operacoescomprasvendas.operDevolucao = 'Não' Or operacoescomprasvendas.operDevolucao Is Null) And (operacoescomprasvendas.operTransferencia = 'Sim' Or operacoescomprasvendas.operTransferencia Is Null) And (entradas.entrProcessado = 'Sim') And (entradas.entrCancelada = 'Não' Or entradas.entrCancelada Is Null) Group By entradasprodutos.entrCodProduto) As TransferenciaEntrada,
  (Select Sum(saidasprodutos.saidQuantidade) From saidasprodutos Left Join saidas On saidas.saidNumeroPreVenda = saidasprodutos.saidNumeroPreVenda Left Join operacoescomprasvendas On operacoescomprasvendas.codOperacaoVenda = saidas.saidCodOperacaoVenda Where (saidasprodutos.saidCodProduto = produtos.codProduto) And (operacoescomprasvendas.operEstoque = 'Sim' Or operacoescomprasvendas.operEstoque Is Null) And (operacoescomprasvendas.operDevolucao = 'Não' Or operacoescomprasvendas.operDevolucao Is Null) And (operacoescomprasvendas.operTransferencia = 'Não' Or operacoescomprasvendas.operTransferencia Is Null) And (saidas.saidProcessada = 'Sim') And (saidas.saidCancelada = 'Não' Or saidas.saidCancelada Is Null) Group By saidasprodutos.saidCodProduto) As Saida,
  (Select Sum(saidasprodutos.saidQuantidade) From saidasprodutos Left Join saidas On saidas.saidNumeroPreVenda = saidasprodutos.saidNumeroPreVenda Left Join operacoescomprasvendas On operacoescomprasvendas.codOperacaoVenda = saidas.saidCodOperacaoVenda Where (saidasprodutos.saidCodProduto = produtos.codProduto) And (operacoescomprasvendas.operEstoque = 'Sim' Or operacoescomprasvendas.operEstoque Is Null) And (operacoescomprasvendas.operDevolucao = 'Sim' Or operacoescomprasvendas.operDevolucao Is Null) And (operacoescomprasvendas.operTransferencia = 'Não' Or operacoescomprasvendas.operTransferencia Is Null) And (saidas.saidProcessada = 'Sim') And (saidas.saidCancelada = 'Não' Or saidas.saidCancelada Is Null) Group By saidasprodutos.saidCodProduto) As SaidaDevolucao,
  (Select Sum(saidasprodutos.saidQuantidade) From saidasprodutos Left Join saidas On saidas.saidNumeroPreVenda = saidasprodutos.saidNumeroPreVenda Left Join operacoescomprasvendas On operacoescomprasvendas.codOperacaoVenda = saidas.saidCodOperacaoVenda Where (saidasprodutos.saidCodProduto = produtos.codProduto) And (operacoescomprasvendas.operEstoque = 'Sim' Or operacoescomprasvendas.operEstoque Is Null) And (operacoescomprasvendas.operDevolucao = 'Não' Or operacoescomprasvendas.operDevolucao Is Null) And (operacoescomprasvendas.operTransferencia = 'Sim' Or operacoescomprasvendas.operTransferencia Is Null) And (saidas.saidProcessada = 'Sim') And (saidas.saidCancelada = 'Não' Or saidas.saidCancelada Is Null) Group By saidasprodutos.saidCodProduto) As SaidaTransferencia,
  empresasprodutos.emprEstoqueAtual As EstoqueAtual,
  IfNull(empresasprodutos.emprEstoqueInicialInventario, 0) + (IfNull((Select Sum((round(IfNull(entradasprodutos.entrQuantidade, 1), 2) * round(IfNull(entradasprodutos.entrQuantidadeEmbalagem, 1), 2))) From entradasprodutos Left Join entradas On entradas.codEntradas = entradasprodutos.entrCodEntradas Left Join operacoescomprasvendas On operacoescomprasvendas.codOperacaoVenda = entradas.entrCodOperacaoVenda Where (entradasprodutos.entrCodProduto = produtos.codProduto) And (operacoescomprasvendas.operEstoque = 'Sim' Or operacoescomprasvendas.operEstoque Is Null) And (operacoescomprasvendas.operDevolucao = 'Não' Or operacoescomprasvendas.operDevolucao Is Null) And (operacoescomprasvendas.operTransferencia = 'Não' Or operacoescomprasvendas.operTransferencia Is Null) And (entradas.entrProcessado = 'Sim') And (entradas.entrCancelada = 'Não' Or entradas.entrCancelada Is Null) Group By entradasprodutos.entrCodProduto), 0)) + (IfNull((Select Sum((round(IfNull(entradasprodutos.entrQuantidade, 1), 2) * round(IfNull(entradasprodutos.entrQuantidadeEmbalagem, 1), 2))) From entradasprodutos Left Join entradas On entradas.codEntradas = entradasprodutos.entrCodEntradas Left Join operacoescomprasvendas On operacoescomprasvendas.codOperacaoVenda = entradas.entrCodOperacaoVenda Where (entradasprodutos.entrCodProduto = produtos.codProduto) And (operacoescomprasvendas.operEstoque = 'Sim' Or operacoescomprasvendas.operEstoque Is Null) And (operacoescomprasvendas.operDevolucao = 'Sim' Or operacoescomprasvendas.operDevolucao Is Null) And (operacoescomprasvendas.operTransferencia = 'Não' Or operacoescomprasvendas.operTransferencia Is Null) And (entradas.entrProcessado = 'Sim') And (entradas.entrCancelada = 'Não' Or entradas.entrCancelada Is Null) Group By entradasprodutos.entrCodProduto), 0)) + (IfNull((Select Sum((round(IfNull(entradasprodutos.entrQuantidade, 1), 2) * round(IfNull(entradasprodutos.entrQuantidadeEmbalagem, 1), 2))) From entradasprodutos Left Join entradas On entradas.codEntradas = entradasprodutos.entrCodEntradas Left Join operacoescomprasvendas On operacoescomprasvendas.codOperacaoVenda = entradas.entrCodOperacaoVenda Where (entradasprodutos.entrCodProduto = produtos.codProduto) And (operacoescomprasvendas.operEstoque = 'Sim' Or operacoescomprasvendas.operEstoque Is Null) And (operacoescomprasvendas.operDevolucao = 'Não' Or operacoescomprasvendas.operDevolucao Is Null) And (operacoescomprasvendas.operTransferencia = 'Sim' Or operacoescomprasvendas.operTransferencia Is Null) And (entradas.entrProcessado = 'Sim') And (entradas.entrCancelada = 'Não' Or entradas.entrCancelada Is Null) Group By entradasprodutos.entrCodProduto), 0)) - (IfNull((Select Sum(saidasprodutos.saidQuantidade) From saidasprodutos Left Join saidas On saidas.saidNumeroPreVenda = saidasprodutos.saidNumeroPreVenda Left Join operacoescomprasvendas On operacoescomprasvendas.codOperacaoVenda = saidas.saidCodOperacaoVenda Where (saidasprodutos.saidCodProduto = produtos.codProduto) And (operacoescomprasvendas.operEstoque = 'Sim' Or operacoescomprasvendas.operEstoque Is Null) And (operacoescomprasvendas.operDevolucao = 'Não' Or operacoescomprasvendas.operDevolucao Is Null) And (operacoescomprasvendas.operTransferencia = 'Não' Or operacoescomprasvendas.operTransferencia Is Null) And (saidas.saidProcessada = 'Sim') And (saidas.saidCancelada = 'Não' Or saidas.saidCancelada Is Null) Group By saidasprodutos.saidCodProduto), 0)) - (IfNull((Select Sum(saidasprodutos.saidQuantidade) From saidasprodutos Left Join saidas On saidas.saidNumeroPreVenda = saidasprodutos.saidNumeroPreVenda Left Join operacoescomprasvendas On operacoescomprasvendas.codOperacaoVenda = saidas.saidCodOperacaoVenda Where (saidasprodutos.saidCodProduto = produtos.codProduto) And (operacoescomprasvendas.operEstoque = 'Sim' Or operacoescomprasvendas.operEstoque Is Null) And (operacoescomprasvendas.operDevolucao = 'Sim' Or operacoescomprasvendas.operDevolucao Is Null) And (operacoescomprasvendas.operTransferencia = 'Não' Or operacoescomprasvendas.operTransferencia Is Null) And (saidas.saidProcessada = 'Sim') And (saidas.saidCancelada = 'Não' Or saidas.saidCancelada Is Null) Group By saidasprodutos.saidCodProduto), 0)) - (IfNull((Select Sum(saidasprodutos.saidQuantidade) From saidasprodutos Left Join saidas On saidas.saidNumeroPreVenda = saidasprodutos.saidNumeroPreVenda Left Join operacoescomprasvendas On operacoescomprasvendas.codOperacaoVenda = saidas.saidCodOperacaoVenda Where (saidasprodutos.saidCodProduto = produtos.codProduto) And (operacoescomprasvendas.operEstoque = 'Sim' Or operacoescomprasvendas.operEstoque Is Null) And (operacoescomprasvendas.operDevolucao = 'Não' Or operacoescomprasvendas.operDevolucao Is Null) And (operacoescomprasvendas.operTransferencia = 'Sim' Or operacoescomprasvendas.operTransferencia Is Null) And (saidas.saidProcessada = 'Sim') And (saidas.saidCancelada = 'Não' Or saidas.saidCancelada Is Null) Group By saidasprodutos.saidCodProduto), 0)) As TotalIDEAL
From
  produtos
  Left Join
  empresasprodutos On produtos.codProduto = empresasprodutos.emprCodProduto
Where
  IfNull(empresasprodutos.emprEstoqueInicialInventario, 0) + (IfNull((Select Sum((round(IfNull(entradasprodutos.entrQuantidade, 1), 2) * round(IfNull(entradasprodutos.entrQuantidadeEmbalagem, 1), 2))) From entradasprodutos Left Join entradas On entradas.codEntradas = entradasprodutos.entrCodEntradas Left Join operacoescomprasvendas On operacoescomprasvendas.codOperacaoVenda = entradas.entrCodOperacaoVenda Where (entradasprodutos.entrCodProduto = produtos.codProduto) And (operacoescomprasvendas.operEstoque = 'Sim' Or operacoescomprasvendas.operEstoque Is Null) And (operacoescomprasvendas.operDevolucao = 'Não' Or operacoescomprasvendas.operDevolucao Is Null) And (operacoescomprasvendas.operTransferencia = 'Não' Or operacoescomprasvendas.operTransferencia Is Null) And (entradas.entrProcessado = 'Sim') And (entradas.entrCancelada = 'Não' Or entradas.entrCancelada Is Null) Group By entradasprodutos.entrCodProduto), 0)) + (IfNull((Select Sum((round(IfNull(entradasprodutos.entrQuantidade, 1), 2) * round(IfNull(entradasprodutos.entrQuantidadeEmbalagem, 1), 2))) From entradasprodutos Left Join entradas On entradas.codEntradas = entradasprodutos.entrCodEntradas Left Join operacoescomprasvendas On operacoescomprasvendas.codOperacaoVenda = entradas.entrCodOperacaoVenda Where (entradasprodutos.entrCodProduto = produtos.codProduto) And (operacoescomprasvendas.operEstoque = 'Sim' Or operacoescomprasvendas.operEstoque Is Null) And (operacoescomprasvendas.operDevolucao = 'Sim' Or operacoescomprasvendas.operDevolucao Is Null) And (operacoescomprasvendas.operTransferencia = 'Não' Or operacoescomprasvendas.operTransferencia Is Null) And (entradas.entrProcessado = 'Sim') And (entradas.entrCancelada = 'Não' Or entradas.entrCancelada Is Null) Group By entradasprodutos.entrCodProduto), 0)) + (IfNull((Select Sum((round(IfNull(entradasprodutos.entrQuantidade, 1), 2) * round(IfNull(entradasprodutos.entrQuantidadeEmbalagem, 1), 2))) From entradasprodutos Left Join entradas On entradas.codEntradas = entradasprodutos.entrCodEntradas Left Join operacoescomprasvendas On operacoescomprasvendas.codOperacaoVenda = entradas.entrCodOperacaoVenda Where (entradasprodutos.entrCodProduto = produtos.codProduto) And (operacoescomprasvendas.operEstoque = 'Sim' Or operacoescomprasvendas.operEstoque Is Null) And (operacoescomprasvendas.operDevolucao = 'Não' Or operacoescomprasvendas.operDevolucao Is Null) And (operacoescomprasvendas.operTransferencia = 'Sim' Or operacoescomprasvendas.operTransferencia Is Null) And (entradas.entrProcessado = 'Sim') And (entradas.entrCancelada = 'Não' Or entradas.entrCancelada Is Null) Group By entradasprodutos.entrCodProduto), 0)) - (IfNull((Select Sum(saidasprodutos.saidQuantidade) From saidasprodutos Left Join saidas On saidas.saidNumeroPreVenda = saidasprodutos.saidNumeroPreVenda Left Join operacoescomprasvendas On operacoescomprasvendas.codOperacaoVenda = saidas.saidCodOperacaoVenda Where (saidasprodutos.saidCodProduto = produtos.codProduto) And (operacoescomprasvendas.operEstoque = 'Sim' Or operacoescomprasvendas.operEstoque Is Null) And (operacoescomprasvendas.operDevolucao = 'Não' Or operacoescomprasvendas.operDevolucao Is Null) And (operacoescomprasvendas.operTransferencia = 'Não' Or operacoescomprasvendas.operTransferencia Is Null) And (saidas.saidProcessada = 'Sim') And (saidas.saidCancelada = 'Não' Or saidas.saidCancelada Is Null) Group By saidasprodutos.saidCodProduto), 0)) - (IfNull((Select Sum(saidasprodutos.saidQuantidade) From saidasprodutos Left Join saidas On saidas.saidNumeroPreVenda = saidasprodutos.saidNumeroPreVenda Left Join operacoescomprasvendas On operacoescomprasvendas.codOperacaoVenda = saidas.saidCodOperacaoVenda Where (saidasprodutos.saidCodProduto = produtos.codProduto) And (operacoescomprasvendas.operEstoque = 'Sim' Or operacoescomprasvendas.operEstoque Is Null) And (operacoescomprasvendas.operDevolucao = 'Sim' Or operacoescomprasvendas.operDevolucao Is Null) And (operacoescomprasvendas.operTransferencia = 'Não' Or operacoescomprasvendas.operTransferencia Is Null) And (saidas.saidProcessada = 'Sim') And (saidas.saidCancelada = 'Não' Or saidas.saidCancelada Is Null) Group By saidasprodutos.saidCodProduto), 0)) - (IfNull((Select Sum(saidasprodutos.saidQuantidade) From saidasprodutos Left Join saidas On saidas.saidNumeroPreVenda = saidasprodutos.saidNumeroPreVenda Left Join operacoescomprasvendas On operacoescomprasvendas.codOperacaoVenda = saidas.saidCodOperacaoVenda Where (saidasprodutos.saidCodProduto = produtos.codProduto) And (operacoescomprasvendas.operEstoque = 'Sim' Or operacoescomprasvendas.operEstoque Is Null) And (operacoescomprasvendas.operDevolucao = 'Não' Or operacoescomprasvendas.operDevolucao Is Null) And (operacoescomprasvendas.operTransferencia = 'Sim' Or operacoescomprasvendas.operTransferencia Is Null) And (saidas.saidProcessada = 'Sim') And (saidas.saidCancelada = 'Não' Or saidas.saidCancelada Is Null) Group By saidasprodutos.saidCodProduto), 0)) <> IfNull(empresasprodutos.emprEstoqueAtual, 0)
Order By
  (Select Sum((round(IfNull(entradasprodutos.entrQuantidade, 1), 2) * round(IfNull(entradasprodutos.entrQuantidadeEmbalagem, 1), 2))) From entradasprodutos Left Join entradas On entradas.codEntradas = entradasprodutos.entrCodEntradas Left Join operacoescomprasvendas On operacoescomprasvendas.codOperacaoVenda = entradas.entrCodOperacaoVenda Where (entradasprodutos.entrCodProduto = produtos.codProduto) And (operacoescomprasvendas.operEstoque = 'Sim' Or operacoescomprasvendas.operEstoque Is Null) And (operacoescomprasvendas.operDevolucao = 'Não' Or operacoescomprasvendas.operDevolucao Is Null) And (operacoescomprasvendas.operTransferencia = 'Não' Or operacoescomprasvendas.operTransferencia Is Null) And (entradas.entrProcessado = 'Sim') And (entradas.entrCancelada = 'Não' Or entradas.entrCancelada Is Null) Group By entradasprodutos.entrCodProduto) Desc

Se entendi o caso, a sintaxe seria algo assim:

update empresasprodutos set emprEstoqueAtual = 
(
  (IfNull(empresasprodutos.emprEstoqueInicialInventario, 0)) + 
  (IfNull((Select Sum((round(IfNull(entradasprodutos.entrQuantidade, 1), 2) * round(IfNull(entradasprodutos.entrQuantidadeEmbalagem, 1), 2))) From entradasprodutos Left Join entradas On entradas.codEntradas = entradasprodutos.entrCodEntradas Left Join operacoescomprasvendas On operacoescomprasvendas.codOperacaoVenda = entradas.entrCodOperacaoVenda Where (entradasprodutos.entrCodProduto = empresasprodutos.emprCodProduto) And (operacoescomprasvendas.operEstoque = 'Sim' Or operacoescomprasvendas.operEstoque Is Null) And (operacoescomprasvendas.operDevolucao = 'Não' Or operacoescomprasvendas.operDevolucao Is Null) And (operacoescomprasvendas.operTransferencia = 'Não' Or operacoescomprasvendas.operTransferencia Is Null) And (entradas.entrProcessado = 'Sim') And (entradas.entrCancelada = 'Não' Or entradas.entrCancelada Is Null) Group By entradasprodutos.entrCodProduto), 0)) + 
  (IfNull((Select Sum((round(IfNull(entradasprodutos.entrQuantidade, 1), 2) * round(IfNull(entradasprodutos.entrQuantidadeEmbalagem, 1), 2))) From entradasprodutos Left Join entradas On entradas.codEntradas = entradasprodutos.entrCodEntradas Left Join operacoescomprasvendas On operacoescomprasvendas.codOperacaoVenda = entradas.entrCodOperacaoVenda Where (entradasprodutos.entrCodProduto = empresasprodutos.emprCodProduto) And (operacoescomprasvendas.operEstoque = 'Sim' Or operacoescomprasvendas.operEstoque Is Null) And (operacoescomprasvendas.operDevolucao = 'Sim' Or operacoescomprasvendas.operDevolucao Is Null) And (operacoescomprasvendas.operTransferencia = 'Não' Or operacoescomprasvendas.operTransferencia Is Null) And (entradas.entrProcessado = 'Sim') And (entradas.entrCancelada = 'Não' Or entradas.entrCancelada Is Null) Group By entradasprodutos.entrCodProduto), 0)) + 
  (IfNull((Select Sum((round(IfNull(entradasprodutos.entrQuantidade, 1), 2) * round(IfNull(entradasprodutos.entrQuantidadeEmbalagem, 1), 2))) From entradasprodutos Left Join entradas On entradas.codEntradas = entradasprodutos.entrCodEntradas Left Join operacoescomprasvendas On operacoescomprasvendas.codOperacaoVenda = entradas.entrCodOperacaoVenda Where (entradasprodutos.entrCodProduto = empresasprodutos.emprCodProduto) And (operacoescomprasvendas.operEstoque = 'Sim' Or operacoescomprasvendas.operEstoque Is Null) And (operacoescomprasvendas.operDevolucao = 'Não' Or operacoescomprasvendas.operDevolucao Is Null) And (operacoescomprasvendas.operTransferencia = 'Sim' Or operacoescomprasvendas.operTransferencia Is Null) And (entradas.entrProcessado = 'Sim') And (entradas.entrCancelada = 'Não' Or entradas.entrCancelada Is Null) Group By entradasprodutos.entrCodProduto), 0)) - 
  (IfNull((Select Sum(saidasprodutos.saidQuantidade) From saidasprodutos Left Join saidas On saidas.saidNumeroPreVenda = saidasprodutos.saidNumeroPreVenda Left Join operacoescomprasvendas On operacoescomprasvendas.codOperacaoVenda = saidas.saidCodOperacaoVenda Where (saidasprodutos.saidCodProduto = empresasprodutos.emprCodProduto) And (operacoescomprasvendas.operEstoque = 'Sim' Or operacoescomprasvendas.operEstoque Is Null) And (operacoescomprasvendas.operDevolucao = 'Não' Or operacoescomprasvendas.operDevolucao Is Null) And (operacoescomprasvendas.operTransferencia = 'Não' Or operacoescomprasvendas.operTransferencia Is Null) And (saidas.saidProcessada = 'Sim') And (saidas.saidCancelada = 'Não' Or saidas.saidCancelada Is Null) Group By saidasprodutos.saidCodProduto), 0)) - 
  (IfNull((Select Sum(saidasprodutos.saidQuantidade) From saidasprodutos Left Join saidas On saidas.saidNumeroPreVenda = saidasprodutos.saidNumeroPreVenda Left Join operacoescomprasvendas On operacoescomprasvendas.codOperacaoVenda = saidas.saidCodOperacaoVenda Where (saidasprodutos.saidCodProduto = empresasprodutos.emprCodProduto) And (operacoescomprasvendas.operEstoque = 'Sim' Or operacoescomprasvendas.operEstoque Is Null) And (operacoescomprasvendas.operDevolucao = 'Sim' Or operacoescomprasvendas.operDevolucao Is Null) And (operacoescomprasvendas.operTransferencia = 'Não' Or operacoescomprasvendas.operTransferencia Is Null) And (saidas.saidProcessada = 'Sim') And (saidas.saidCancelada = 'Não' Or saidas.saidCancelada Is Null) Group By saidasprodutos.saidCodProduto), 0)) - 
  (IfNull((Select Sum(saidasprodutos.saidQuantidade) From saidasprodutos Left Join saidas On saidas.saidNumeroPreVenda = saidasprodutos.saidNumeroPreVenda Left Join operacoescomprasvendas On operacoescomprasvendas.codOperacaoVenda = saidas.saidCodOperacaoVenda Where (saidasprodutos.saidCodProduto = empresasprodutos.emprCodProduto) And (operacoescomprasvendas.operEstoque = 'Sim' Or operacoescomprasvendas.operEstoque Is Null) And (operacoescomprasvendas.operDevolucao = 'Não' Or operacoescomprasvendas.operDevolucao Is Null) And (operacoescomprasvendas.operTransferencia = 'Sim' Or operacoescomprasvendas.operTransferencia Is Null) And (saidas.saidProcessada = 'Sim') And (saidas.saidCancelada = 'Não' Or saidas.saidCancelada Is Null) Group By saidasprodutos.saidCodProduto), 0))
)
-- where vem aqui, se necessário

Toda a informação necessária parece estar já na coluna TotalIDEAL, então é só o caso de usar a informação dessa coluna, ajustando as condições where para usar empresasprodutos.emprCodProduto em vez de produtos.codProduto.

Isso atualiza todos os registros. Se precisa atualizar apenas itens específicos, adicione as condições where necessárias.

Se não é isso que você precisa, seja mais claro.

NOTA: reforçando porque é necessário, TESTE e VALIDE o resultado em um ambiente de testes antes de executar isso em produção. Eu não validei a sintaxe, pode haver pequenos ajustes a fazer.

Abraço.

1 curtida

Seria isso mesmo, nesse caso era pra alterar todos os produtos do estoque, já fiz o teste no banco de teste, vou fazer um backup e rodar em produção