Pular para o conteúdo

Fóruns SQL e PL/SQL Update com base em um select Update com base em um select

#104692
rman
Participante

    @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'
    )