Amigos, como posso usar a função ROLLUP no oracle substituindo querys com union all aonde a codição de uma query anula a outra ? E no campo de retorno uma query apenas pega o valor, a outra query existe uma pequena lógica.
Exemplo :
identar texto pre-formatado em 4 espaços
SELECT DT_MOV,
COD_BLOCO,
(select sum(x.peso)
from pasagem_bruto x
where (x.id = m.id)
and (x.emp_id_empresa = m.emp_id_empresa) <------------------- Essa coluna de retorno tem uma logica, a query de baixo não
and (x.data_pb <= m.data_p)
) as peso_liquido
FROM OS_PESAGENS
WHERE COD_EMPRESA = 1
AND SAFRA in (2016, 2017) <--------------------- Condição da query de cima vai contra a codição da query de baixo
GROUP BY DT_MOV, COD_BLOCO
UNION
SELECT DT_MOV,
COD_BLOCO,
SUM(PESO_BRUTO - PESO_TARA) PESO
FROM OS_PESAGENS
WHERE COD_EMPRESA = 1
AND SAFRA not in (2016, 2017) <--------------------- Condição query de baixo contra condição query de cima
GROUP BY DT_MOV