Boa tarde pessoal do forum.
Em um relatório, tenho um select com union mais ou menos assim.....
SELECT TRIM(A.C_PROD)
"Codigo Produto",
SUM(A.QTDE * 100)
"Qtde Faturada",
SUM(A.VLR_TOTAL)
"Valor s/ IPI e ST",
SUM(A.VLR_TOTAL +
A.VLR_IPI +
A.VLR_ICM_SUBST)
"Valor c/ IPI e ST"
FROM NFDE A
WHERE A.DT_MOVTO BETWEEN TO_DATE(:DMO1,'DD/MM/YYYY') AND
TO_DATE(:DMO2,'DD/MM/YYYY') AND
A.TIPO_MOVTO IN ( 310,315,316,
317,320,325,
326,860)
GROUP BY A.TIPO_MOVTO,
TRIM(A.C_PROD)
UNION ALL
SELECT 'TRIM(A.RP2_PRO)
"Codigo Produto",
SUM(A.RP2_QTD)
"Qtde Faturada",
SUM(A.RP2_VLT)
"Valor s/ IPI e ST",
SUM(A.RP2_VLT)
"Valor c/ IPI e ST"
FROM CLP3_TAB_VEN_RP2@CLIPPER A LEFT JOIN CLP3_TAB_VEN_RP1@CLIPPER B ON
(A.RP2_NRP = B.RP1_NRP)
WHERE B.RP1_DEM BETWEEN TO_DATE(:DEM1,'DD/MM/YYYY') AND
TO_DATE(:DEM2,'DD/MM/YYYY') AND
TRIM(B.RP1_STA) = 'FATURADO'
GROUP BY TRIM(A.RP2_PRO)
ORDER BY 1,2
Como podem reparar, as fontes de dados do select 1 e do select 2 sao diferentes
(nada mais natural). O retorno desse select sao 2 linhas para mesmo produto,
uma da fonte de dados "1" e outra da fonte de dados "2".
Gostaria de saber se tem como eu somar essas duas linhas? Caso não seja
possível, minha solução seria criar uma tabela temporária e através de uma
procedure inserir os dados e depois fazer a consulta pro relatório. Será que
existe uma solução mais fácil que esta?
Obrigado a todos pela atenção.
[]s
Emerson