Estou com uma dúvida que talvez seja simples, mas não sou muito bom em SQL e acabou surgindo uma necessidade que preciso resolver via banco.
Há alguns registros que devo alterar, porém para encontra-los utilizo filtros de 2 tabelas, vou usar de exemplo a tabela A e tabela B, o select faço dessa forma:
SELECT * FROM A, B
WHERE A.FILIAL = B.FILIAL
AND A.FORNECEDOR = B.FORNECEDOR
AND A.DATAENTRADA > '31/12/2011'
AND A.DATAENTRADA < '01/01/2014'
AND B.CSTPIS = '53'
AND B.CSTCOFINS = '53'
AND B.VALORPIS > 0
AND B.VALORCOFINS > 0
AND A.CODESP = '27'
Tentei fazer dessa forma e não deu certo:
UPDATE A SET A.CODESP = (SELECT 0 FROM A, B
WHERE A.FILIAL = B.FILIAL
AND A.FORNECEDOR = B.FORNECEDOR
AND A.DATAENTRADA > '31/12/2011'
AND A.DATAENTRADA < '01/01/2014'
AND B.CSTPIS = '53'
AND B.CSTCOFINS = '53'
AND B.VALORPIS > 0
AND B.VALORCOFINS > 0
AND A.CODESP = '27')
Alguém tem ideia de como posso fazer esse código.
Desde já, agradeço pela ajuda.