Update

estou fazendo esse update para atualizar minha tabela produtos… onde ele pega a quantidade do movimento de tal produto e tal data…

porem ele atualiza tdos os produtos de todas as datas…

de uma olhada:

update produtos set quantidadeestoque = produtos.quantidadeestoque - produtos_movimento.quantidademovimento where (select max(datamovimento) from produtos_movimento) =(select max(data) from itens_orcamento)

Mas se o WHERE não tem qualquer restrição sobre a tabela que está a ser actualizada (produtos) vão ser sempre modificadas todas as linhas ou nenhuma consoante a condição seja verdadeira ou falsa.