Fórum URGENTE - SUM() Group By #39561
19/10/2003
0
O meu problema é que ele tra vários registros de um mesmo vendedor. ex:
Vendedor | Qtde vendida | Valor total vendido
JOAO 2 10,5
JOAO 3 2,6
MARIA 5 7
MARIA 1 2,5
Eu tento agrupar essas pessoas, mas não consigo. Acho que o problema é o meu campo data, pois neste campo é armazenado a data e a hora do cadastro. Então quando eu mando agrupar por data, como sempre ahora ai ser diferente, ele não agrupa.
Alguém pode me ajudar????
Isac
Curtir tópico
+ 0Posts
19/10/2003
Afarias
select vendedor, sum(qtde), sum(total) from tabela
where data between :data_inicial and :data_final
group by vendedor
se quer agrupar por vendedor e dada, então realmente vc tem q separara a HORA da sua data -- crie uma VIEW contendo um campo só com a parte da data usando::
cast(campo_datahora as date) as campo_data
e então faça o group by na view::
select campo_data, vendedor, sum(qtde), sum(total) from nome_view
where data between :data_inicial and :data_final
group by campo_data, vendedor
isto é necessário apenas no IB ou FB 1.0 pois nessas versões não é permitido agrupar (group by) por função.
T+
Gostei + 0
19/10/2003
Isac
eu fiz o que vc me falou, criei a VIEW daseguinte forma
create view SoData (data) as select extract(day from datasaida)||´/´||extract(month from datasaida)||´/´||extract(year from datasaida)
from vendas
depois fiz a consulta em cima desta VIEW da seguinte forma:
select d.data, ve.nome, sum(v.quantidade) as qtde, sum(v.quantidade*v.valorunit) as valorvendido
from SoData d, vendedor ve, vendas v
where d.data between :data_inicial and :datafinal and v.codvendedor = ve.codvendedor
group by d.data, ve.nome
Após isso, a query não me retorna erro, mas também não traz nenhum registro como resultado.
Poderia me dizer onde estou errando??
Gostei + 0
19/10/2003
Afarias
{ extract(day from datasaida)||´/´||extract(month from datasaida)||´/´||extract(year from datasaida) }
???? eu sugeri q vc fizesse::
cast(campo_datahora as date)
isso q vc tá fazendo ai ´não funciona´ não... o resultado não é uma data e sim um ´string´...
T+
Gostei + 0
20/10/2003
Isac
Vou fazer o teste quando chegar na empresa, e posto o resultado.
Valeu!!!!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)