Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Prezados boa tarde este é meu primeiro tópico.
Eu fiz esta consulta:
select C_DATA, C_ENTIDADE, C_VALOR
from tc0100
WHERE C_DATA >= '2012/09/1' and
C_DATA <= '2012/09/2'Me retorna os seguinte valores:
C_DATA C_ENTIDADE C_VALOR
2012-09-01 00:00:00.000 UCENTRAL 1977.03466414155
2012-09-01 00:00:00.000 ULESTE 4187.36567456227
2012-09-01 00:00:00.000 UNORTE 1841.41074496664
2012-09-01 00:00:00.000 USUL 1968.26980475277
2012-09-02 00:00:00.000 UCENTRAL 1941.55813254294
2012-09-02 00:00:00.000 ULESTE 4306.94470813149
2012-09-02 00:00:00.000 UNORTE 1581.61415186534
2012-09-02 00:00:00.000 USUL 1983.97640311671
Eu queria somar os valores das quatro usinas (UCENTRAL, ULESTE, USUL e UNORTE) por dia e obter USINA, no excel é mole mas eu queria no SQL.
Abraço forte pessoa;
Já tentei da seguinte forma
select C_DATA, C_ENTIDADE, SUM(C_VALOR)
from tc0100
WHERE C_DATA >= '2012/09/1' and
C_DATA <= '2012/09/2'
and
C_VARIAVEL = 'ALIMENT'
group by C_DATA, C_ENTIDADE, C_VALOR
Mas retorna o mesmo conjunto.
Obrigado pela ajuda.
C_DATA C_ENTIDADE C_VALOR
2012-09-01 00:00:00.000 UCENTRAL 1977.03466414155
2012-09-01 00:00:00.000 ULESTE 4187.36567456227
2012-09-01 00:00:00.000 UNORTE 1841.41074496664
2012-09-01 00:00:00.000 USUL 1968.26980475277
2012-09-02 00:00:00.000 UCENTRAL 1941.55813254294
2012-09-02 00:00:00.000 ULESTE 4306.94470813149
2012-09-02 00:00:00.000 UNORTE 1581.61415186534
2012-09-02 00:00:00.000 USUL 1983.97640311671
O agrupamento no caso não faz efeito pois cada data/entidade tem só uma linha.
Para efeito de teste faça
select C_ENTIDADE, SUM(C_VALOR)
from tc0100
WHERE C_DATA >= '2012/09/1' and
C_DATA <= '2012/09/2'
and
C_VARIAVEL = 'ALIMENT'
group by C_ENTIDADE, C_VALOR
Motta boa tarde
Realmente os dados da coluna entidade são divididas pelas usinas, dai eu queria somar as quatro no dia.
Teria alguma forma de somar só os blocos do dia?
Do mais grato desde já.
Pessoal boa tarde
Eu fiz a consulta abaixo
select C_DATA, C_ENTIDADE, sum(C_VALOR) AS 'TOTAL' from tc0100
WHERE C_DATA >= '2012/09/1' and
C_DATA <= '2012/09/2'
and C_VARIAVEL = 'ROG_UC'
and C_VARIAVEL = 'ALIMENT'
group by C_DATA, C_ENTIDADE, C_VALOR
Dentro da coluna C_VARIAVEL exista tanto dados de 'ROG_UC' quanto 'ALIMENT', eu queria listas todos os dados com estas descrições, mas só consigo listar um de cada vez.
O que estou fazendo de errado?
Do mais grato desde já.
você esta usando ele no agregador (Group By) entao vai trazer uma linha para cada um....
Teria alguma forma de somar só os blocos do dia?
select C_DATA, SUM(C_VALOR)
from tc0100
WHERE C_DATA >= '2012/09/1' and
C_DATA <= '2012/09/2'
and
C_VARIAVEL = 'ALIMENT'
group by C_DATA
A.Jr eu já tentei sem o Group By e também não deu certo
Pessoal bom dia
Da forma que o Motta sugeriu:
select C_DATA, SUM(C_VALOR)
from tc0100
WHERE C_DATA >= '2012/09/1' and
C_DATA <= '2012/09/2'and
C_VARIAVEL = 'ALIMENT'
group by C_DATA
Fazendo apenas um Group By na data ele somou o dia todo, como não preciso exibir os dados do campo entidade pois sei que todos estão filtrado pelo campo variável, realmente solucionou.
Obrigado Motta.
Use uma agregadora como SUM, veja exemplo.