SELECT

    F.ESTACAO,
    D.turno,
    TRUNC(SUM(D.QUANTIDADE * F.FATOR)) AS DEFEITO

from
    (
        SELECT

        A.turno,
        A.produto_id,
        A.tamanho,
        Sum(coalesce(A.quantidade,0)) QUANTIDADE

        From TbDefeito_Transacao_Item A, TBSAC_DEFEITO S
        Where A.Estabelecimento_Id = :ESTABELECIMENTO
        and A.defeito_id = S.codigo
        and S.setor  = 'BOJO'

        AND A.DATA = '20.04.2017'

        and a.ESTEIRA_ID = :GP_ID
        group BY 1,2,3
    ) D,

    (
    SELECT
        
        ESTACAO,
        TURNO,
        PRODUTO_ID,
        TAMANHO,
        QUANTIDADE,
        IIF(TOTAL > 0, QUANTIDADE/TOTAL,1) AS FATOR
    
    FROM
    
        (
        SELECT
            ESTACAO,
            TURNO,
            PRODUTO_ID,
            TAMANHO,
            QUANTIDADE,
            SUM(QUANTIDADE) OVER(PARTITION BY TURNO,PRODUTO_ID,TAMANHO) TOTAL
        FROM
            (
                SELECT
                
                    P.ESTACAO,
                    A.codigo AS turno,
                    P.produto_id,
                    P.tamanho,
                    sum(p.QUANTIDADE) as QUANTIDADE
                
                FROM
                    VWREMESSA_TALAO T,
                    TBPROGRAMACAO P,
                    VWREMESSA R,
                    TBTURNO A
                
                WHERE
                    1=1
                AND P.TIPO       = 'A'
                AND P.TABELA_ID  = T.ID
                AND R.REMESSA_ID = T.REMESSA_ID
                AND P.GP_ID      = :GP_ID
                AND P.UP_ID      = :UP_ID
                AND P.ESTACAO    in (4,5,6)
                
                AND R.DATA  = '20.04.2017'
                
                group by 1,2,3,4
                order by 1,2
            )
         )
    )  F

WHERE 1=1
AND F.TURNO      = D.TURNO
AND F.PRODUTO_ID = D.PRODUTO_ID
AND F.TAMANHO    = D.TAMANHO

group by 1,2
order by 1,2