Inquiridor
Alterar o nome SUM para Total.

Pergunta
-
Boa noite pessoal, estou com o select abaixo, ele roda perfeitamente e traz o resultado que quero, porém gostaria de saber como eu fazer para mudar o nome SUM. Quando ele traz o valor SUM que é a soma dos campos vr_doc_mn, gostaria que aparecesse o nome "Total'
use ddes950
go
select aa_doc, nr_doc, vr_doc_mn, cd_ar_opr, cd_ctr, nr_ope, nr_fch_ope, cd_nat_jur, cd_tp_mov
from ddes950..t950dcto
where aa_doc in (2010)
and nr_doc in ('3452','3256')
order by vr_doc_mn
compute sum (vr_doc_mn)aa_doc nr_doc vr_doc_mn cd_ar_opr cd_ctr nr_ope nr_fch_ope cd_nat_jur cd_tp_mov
2010 3452 251.87 1 B000002501 1 0 1 C
2010 3256 436.52 1 A800176901 1 0 1 Csum
688.39
(3 row(s) affected)
Luis Antonio
Todas as Respostas
-
-
-
-
-
-
-
use ddes950 go select aa_doc, nr_doc, vr_doc_mn, cd_ar_opr, cd_ctr, nr_ope, nr_fch_ope, cd_nat_jur, cd_tp_mov, sum(vr_doc_mn) as Total from ddes950..t950dcto where aa_doc in (2010) and nr_doc in ('3452','3256') order by vr_doc_mn
Vc n poderia fazer essa consulta assim?
Colocando o sum dentro do select e renomeando o mesmo.
-
Inserir conforme sua orientação, porém apresentou erro ao executar no GROUP BY, inserir ficando assim, só que ele me repete o valor informado no campo vr_doc_mn. O que quero na verdade é somas do campo vr_doc_mn.
use
ddes950
go
select aa_doc, nr_doc, vr_doc_mn, cd_ar_opr,
cd_ag, cd_ctr, nr_ope, nr_fch_ope,
cd_nat_jur, cd_tp_mov,
sum (vr_doc_mn)
as Total
from ddes950..t950dcto
where aa_doc
in (2010)
and nr_doc
in ('3452','3256')
group by aa_doc, nr_doc, vr_doc_mn, cd_ar_opr,
cd_ag, cd_ctr, nr_ope, nr_fch_ope,
cd_nat_jur, cd_tp_mov
order by vr_doc_mn
Luis Antonio -
use ddes950 go select aa_doc, nr_doc, vr_doc_mn, cd_ar_opr, cd_ag, cd_ctr, nr_ope, nr_fch_ope, cd_nat_jur, cd_tp_mov into #tmp from ddes950..t950dcto where aa_doc in (2010) and nr_doc in ('3452','3256') order by vr_doc_mn select sum(vr_doc_mn) from #tmp
Amigo, a solução que eu consegui fazer aqui foi essa.
-
-
Pensei que interessasse só a somatoria.
Para uma solução rapida. Com certeza não é amelhor.
use
ddes950
go
select aa_doc, nr_doc, vr_doc_mn, cd_ar_opr,
cd_ag, cd_ctr, nr_ope, nr_fch_ope,
cd_nat_jur, cd_tp_mov
into #tmp
from ddes950..t950dcto
where aa_doc
in (2010)
and nr_doc
in ('3452','3256')
order by vr_doc_mnselect * from #tmp
go
select sum(vr_doc_mn) from #tmp -
Ola,
É possível trocar a clausula COMPUTE por ROLLUP ?
No exemplo do HELP do sql ficaria assim:
SELECT CASE WHEN (GROUPING(Item) = 1) THEN 'ALL' ELSE ISNULL(Item, 'UNKNOWN') END AS Item, CASE WHEN (GROUPING(Color) = 1) THEN 'ALL' ELSE ISNULL(Color, 'UNKNOWN') END AS Color, SUM(Quantity) AS QtySum FROM Inventory GROUP BY Item, Color WITH ROLLUP Item Color QtySum -------------------- -------------------- -------------------------- Chair Blue 101.00 Chair Red 210.00 Chair ALL 311.00 Table Blue 124.00 Table Red 223.00 Table ALL 347.00 ALL ALL 658.00
E ai voce teria que fazer uma alteração na aplicação que trata os resultados para tratar a ultima linha como TOTAL
Espero ter ajudado.
Abraço
hã?- Sugerido como Resposta DTito quinta-feira, 8 de abril de 2010 21:09
-