Pessoal basicamente eu preciso montar um select que faça duas somas em colunas diferentes na tabela, uso o Oracle, e o exemplo que vou passar abaixo está dando erro. Alguém pode me ajudar?
select ico_ip,
val_seg_id,
val_seg_nome,
usu_nome,
maq_descricao,
sum(ico_bytes) total_bytes,
sum(ico_tempo) total_tempo
from (select ico.ico_ip,
col.val_seg_id,
cvs.val_seg_nome,
usu.usu_nome,
maq.maq_descricao,
ico.ico_bytes
from internet_controle ico,
usuario1 usu,
maquinas maq,
maquinas_ips mai,
colaborador col,
contabil.ctb_val_seg cvs)
where maq.maq_id = mai.maq_id
and mai.maq_ip = ico.ico_ip
and mai.maq_id = usu.maq_id
and col.pes_codigo = usu.pes_codigo
and col.val_seg_id = cvs.val_seg_id)
order by val_seg_nome,
usu_nome
O sum é uma função de grupo, voce não pode fazer um select agrupando alguns campos e outros não. Faça isso em duas queries. uma para valores agrupados e outra para outros valores.
Supondo que uma consulta traga 20 linhas.A função sum irá somar o valor de uma coluna de todas essas vinte linhas.Certo?
Então só existirá uma linha para esta coluna.como ficariam as outras colunas(“com 20 linhas”)?
nao tem jeito.Tenta executar a query somente com os campos: