[firebase-br] Union com soma
Maiki P.
maiki.perin em gmail.com
Ter Out 25 10:54:58 -03 2005
Bom dia,
estou com dificuldade em apresentar os dados de forma coerente, utilizando "union all/sem all", onde
com o select abaixo eu seleciono todos os produtos, quantidades e unidades, porém caso eu
tenha um produto no primeiro select e o mesmo produto no segundo select mesmo utilizando union sem a
opção "all" a linha é duplicada pois a quantidade é diferente....gostaria de saber se há alguma forma de
agrupar, tipo um group by dos "union's", onde eu teria apenas um produto com a soma das quantidades
correspondentes, Ex:
Atual, apresentado pelo select abaixo:
Produto | Quantidade | Unidade
X 10 LT.
Y 2 KG.
X 3 LT.
Com eu gostaria:
Produto | Quantidade | Unidade
X 13 LT.
Y 2 KG.
select PU.PROD1_PULVERIZACAO as Produto,
sum(PU.QUANT1_PULVERIZACAO*(TA.AREA_TALHAO*(PU.VD_PULVERIZACAO*TA.CM_TALHAO)/PU.TANQUE_PULVERIZACAO))as Quantidade,
PU.UNID1_PULVERIZACAO as Unidade
from PULVERIZACAO PU,ATIVIDADE A
,ATIVIDADETALHAO T
,TALHAO TA
where A.idtipo_atividade=PU.id_pulverizacao
and PU.id_fazenda=A.id_fazenda
and A.tipo_atividade='PULVERIZAÇÃO'
and A.id_fazenda=26
and A.safra_atividade='04/05'
and A.id_atividade=T.id_atividade
and T.id_talhao=TA.id_talhao
and A.id_fazenda=TA.id_fazenda
and PU.PROD1_PULVERIZACAO<>''
group by PU.prod1_pulverizacao,PU.UNID1_PULVERIZACAO
union all
select PU.PROD2_PULVERIZACAO as Produto,
sum(PU.QUANT2_PULVERIZACAO*(TA.AREA_TALHAO*(PU.VD_PULVERIZACAO*TA.CM_TALHAO)/PU.TANQUE_PULVERIZACAO))as Quantidade,
PU.UNID2_PULVERIZACAO as Unidade
from PULVERIZACAO PU,ATIVIDADE A
,ATIVIDADETALHAO T
,TALHAO TA
where A.idtipo_atividade=PU.id_pulverizacao
and PU.id_fazenda=A.id_fazenda
and A.tipo_atividade='PULVERIZAÇÃO'
and A.id_fazenda=26
and A.safra_atividade='04/05'
and A.id_atividade=T.id_atividade
and T.id_talhao=TA.id_talhao
and A.id_fazenda=TA.id_fazenda
and PU.PROD2_PULVERIZACAO<>''
group by PU.prod2_pulverizacao,PU.UNID2_PULVERIZACAO
--
Att, Maiki Perin.
Codificando-Soluções em Tecnologia
www.codificando.com.br
Analista/Programador
Mais detalhes sobre a lista de discussão lista