› Fóruns › SQL e PL/SQL › Select em 3 tabelas e update em 1 delas › Select em 3 tabelas e update em 1 delas
@cardoso_ph
Acho que entendi o que você precisa, seria atualizar a tabela PEC_ITEM_ESTOQUE utilizando critérios que estão em outras tabelas.
Tente assim, faça o UPDATE, verifique depois se a atualização fez o que deveria, se estiver ok, dê COMMIT, caso contrário dê ROLLBACK;
UPDATE PEC_ITEM_ESTOQUE A
SET A.BASE_PIS = '0,00'
WHERE A.POSICAO_FISCAL = 40169990
AND EXISTS (
SELECT 1
FROM FAT_MOVIMENTO_ITEM B
INNER JOIN FAT_MOVIMENTO_CAPA C ON C.NUMERO_NOTA_FISCAL = B.NUMERO_NOTA_FISCAL
WHERE A.ITEM_ESTOQUE = B.ITEM_ESTOQUE
AND C.DTA_ENTRADA_SAIDA BETWEEN TO_DATE('12/08/2013', 'DD/MM/YYYY') AND TO_DATE('12/08/2013', 'DD/MM/YYYY')
AND C.REVENDA = 1
AND C.TIPO_TRANSACAO = 'P01'
)