› Fóruns › SQL e PL/SQL › Update com base em um select › Update com base em um select
@maxmcosta
Solução utilizando subquery:
UPDATE RELDETALHADO SET
orcado1 = (
SELECT ORC.VALOR vO
FROM contas CO
LEFT JOIN orcado ORC ON ORC.ID_Conta = CO.ID AND ORC.ID_PAC = '1' AND ORC.data BETWEEN '01/08/2012' AND '01/08/2012'
WHERE CO.SUBGRUPO = '1.0' OR CO.SUBGRUPO = '2.0' OR CO.SUBGRUPO = '3.0'
)
, realizado1 = (
SELECT REA.VALOR vR
FROM contas CO
LEFT JOIN realizado REA ON REA.ID_Conta = CO.ID AND REA.ID_PAC = '1' AND REA.data BETWEEN '01/08/2012' AND '01/08/2012'
WHERE CO.SUBGRUPO = '1.0' OR CO.SUBGRUPO = '2.0' OR CO.SUBGRUPO = '3.0'
)
WHERE conta = (
SELECT CO.conta
FROM contas CO
WHERE CO.SUBGRUPO = '1.0' OR CO.SUBGRUPO = '2.0' OR CO.SUBGRUPO = '3.0'
)