Select para listar vendas com quebra por quinzena
20/06/2014
0
Eu conheço muito pouco sql e surgiu uma necessidade para mim
Preciso saber quanto vendeu de determinado produto em uma quinzena, e que o select liste mais de uma quinzena
Se fosse uma data só faria assim
select produto,sum(quantidade) AS QUINZENA1
from
vendas
where
dtvenda between '01/06/2014' and '15/06/2014'
group by produto
O resultado é assim
PRODUTO QUINZENA1
SAPATOX 30
SAPATOY 50
Eu preciso listar outras quinzenas, onde nessa quinzena ele não fizesse a conta do dtvenda entre '01/06/2014' até 15/06/2014' mas sim '16/06/2014' até '30/06/2014' por exemplo
O resultado seria assim
PRODUTO QUINZENA1 QUINZENA2
SAPATOX 30 40
SAPATOY 50 30
Dessa forma posso acompanhar o desempenho de um produto em uma faixa de tempo
Alguém poderia me ajudar como posso fazer isso?
Desde já agradeço
Abraço
Jorge Luiz
Post mais votado
20/06/2014
select extract(year from dt.data_base) as ano, extract(month from dt.data_base) as mês, SUM(CASE WHEN extract(day from dt.data_base) <= 15 THEN fvn.vlvendanota END ) as primeira_quinzena, SUM(CASE WHEN extract(day from dt.data_base) < 15 THEN fvn.vlvendanota END ) as segunda_quinzena from fato_vendanota fvn join dim_tempo dt on fvn.idtempo = dt.idtempo where dt.data_base between '01/01/2014' and '31/05/2014' group by extract(year from dt.data_base), extract(month from dt.data_base) order by extract(year from dt.data_base), extract(month from dt.data_base)
Fiz isso usando o PostgreSQL, tenta adaptar o código...
Marisiana Battistella
Mais Posts
20/06/2014
Isaac Jose
att
isaac
select
a.cou1,a.cou2 ,MAX(LIME_CHEQUE_Prod_63)LIME_CHEQUE_Prod_63,MAX(LIME_LIME_Prod_94)LIME_LIME_Prod_94
from (select
LIME_CHEQUE_Prod_63= case when b.tintCodCart = 63 then b.monVlrCart
end,
LIME_LIME_Prod_94 = case when b.tintCodCart = 94 then b.monVlrCart
end,
a.cou1 ,a.cou2
from tb1 a left join
tb2 b on
b.cou1 = a.AG and b.cou2 = a.cou2)a
group by a.cou1,a.cou2
24/06/2014
Jorge Luiz
Primeiramente agradeço a ajuda de todos amigos
Marisiana muito obrigado mesmo!
Deu tudo certo, aprendi muito com sua dica
Com o extract eu não consegui fazer, eu uso o sql server 2005 e não sei se o extract não funciona nele
Então mudei os extract para as funções YEAR,MONTH e DAY e deu tudo certo, apenas troquei as tabelas e colunas pelas minhas aqui
24/06/2014
Marisiana Battistella
Eu inclui o extract pra conseguir testar e utilizei a estrutura que tinha em mãos naquele momento... Imaginei que vc teria que adaptar o código, então recorri as funções mais tradicionais que geralmente rodam em todos os SGBDs...
Não conheço o SQLServer, então não sei te dizer se funciona o extract ou não, mas já vi algum conteúdo na web sobre isso... Talvez tenha alguma particularidade na sintaxe...
25/06/2014
Fabiano Carvalho
25/06/2014
Marisiana Battistella
Não uso o SQLServer, mas, se não me engano fui pesquisar pra tentar ajudar alguém aqui do fórum.. =)
Obrigada Fabiano!
Clique aqui para fazer login e interagir na Comunidade :)