[firebase-br] RES: RES: Ajuda com select
Flavio Divino
flaviodivino em gmail.com
Sex Abr 9 10:19:16 -03 2010
Bom dia Alysson, acho que com esse exemplo de sql, poderá de ajudar
Qualquer coisa entre em contato.
Abraços,
select
os.osinfo_uf_nota,
count(case when extract(day from os.osdata_atendimento) = 1 then
os.osnumr_os END) AS "DIA 1",
count(case when extract(day from os.osdata_atendimento) = 2 then
os.osnumr_os END) AS "DIA 2",
count(case when extract(day from os.osdata_atendimento) = 3 then
os.osnumr_os END) AS "DIA 3",
count(case when extract(day from os.osdata_atendimento) = 4 then
os.osnumr_os END) AS "DIA 4",
count(case when extract(day from os.osdata_atendimento) = 5 then
os.osnumr_os END) AS "DIA 5",
count(case when extract(day from os.osdata_atendimento) = 6 then
os.osnumr_os END) AS "DIA 6",
count(case when extract(day from os.osdata_atendimento) = 7 then
os.osnumr_os END) AS "DIA 7",
count(case when extract(day from os.osdata_atendimento) = 8 then
os.osnumr_os END) AS "DIA 8",
count(case when extract(day from os.osdata_atendimento) = 9 then
os.osnumr_os END) AS "DIA 9",
count(case when extract(day from os.osdata_atendimento) = 10 then
os.osnumr_os END) AS "DIA 10",
count(case when extract(day from os.osdata_atendimento) = 11 then
os.osnumr_os END) AS "DIA 11",
count(case when extract(day from os.osdata_atendimento) = 12 then
os.osnumr_os END) AS "DIA 12",
count(case when extract(day from os.osdata_atendimento) = 13 then
os.osnumr_os END) AS "DIA 13",
count(case when extract(day from os.osdata_atendimento) = 14 then
os.osnumr_os END) AS "DIA 14",
count(case when extract(day from os.osdata_atendimento) = 15 then
os.osnumr_os END) AS "DIA 15",
count(case when extract(day from os.osdata_atendimento) = 16 then
os.osnumr_os END) AS "DIA 16",
count(case when extract(day from os.osdata_atendimento) = 17 then
os.osnumr_os END) AS "DIA 17",
count(case when extract(day from os.osdata_atendimento) = 18 then
os.osnumr_os END) AS "DIA 18",
count(case when extract(day from os.osdata_atendimento) = 19 then
os.osnumr_os END) AS "DIA 19",
count(case when extract(day from os.osdata_atendimento) = 20 then
os.osnumr_os END) AS "DIA 20",
count(case when extract(day from os.osdata_atendimento) = 21 then
os.osnumr_os END) AS "DIA 21",
count(case when extract(day from os.osdata_atendimento) = 22 then
os.osnumr_os END) AS "DIA 22",
count(case when extract(day from os.osdata_atendimento) = 23 then
os.osnumr_os END) AS "DIA 23",
count(case when extract(day from os.osdata_atendimento) = 24 then
os.osnumr_os END) AS "DIA 24",
count(case when extract(day from os.osdata_atendimento) = 25 then
os.osnumr_os END) AS "DIA 25",
count(case when extract(day from os.osdata_atendimento) = 26 then
os.osnumr_os END) AS "DIA 26",
count(case when extract(day from os.osdata_atendimento) = 27 then
os.osnumr_os END) AS "DIA 27",
count(case when extract(day from os.osdata_atendimento) = 28 then
os.osnumr_os END) AS "DIA 28",
count(case when extract(day from os.osdata_atendimento) = 29 then
os.osnumr_os END) AS "DIA 29",
count(case when extract(day from os.osdata_atendimento) = 30 then
os.osnumr_os END) AS "DIA 30",
count(case when extract(day from os.osdata_atendimento) = 31 then
os.osnumr_os END) AS "DIA 31"
from os
where
(os.osdata_atendimento between '01/01/2010' and '01/31/2010')
group by os.osinfo_uf_nota
Em 7 de abril de 2010 15:39, Daniel (Vipa) <daniel em vipa.com.br> escreveu:
> Olá Thiago!
>
> Faltou um Select Distinct a.filial, .......
>
> Acho que é isso.
>
> Qualquer coisa posta aí valeu!
>
>
>
> -----Mensagem original-----
> De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
> nome de Daniel (Vipa)
> Enviada em: quarta-feira, 7 de abril de 2010 15:29
> Para: 'FireBase'
> Assunto: [firebase-br] RES: Ajuda com select
>
> Olá Thiago!
>
> Veja se isso pode te ajudar...
>
> Select a.filial,
> (select sum(b.qtde)
> from suatabela b
> where b.data=:pdata and a.filial = b.filial) D01,
> (select sum(b.qtde)
> from suatabela b
> where b.data=:pdata + 1 and a.filial = b.filial) D02,
> (select sum(b.qtde)
> from suatabela b
> where b.data=:pdata + 2 and a.filial = b.filial) D03, ......
> from suatabela a
>
>
> .... preencha com o período desejado ( :pdata + 3 .... :pdata + 4)
>
>
> ou então é só criar uma procedure selecionável onde você escolhe o mês/ano
> que deseja imprimir e ela te retorna dos dias devidamente totalizado por
> filial.
>
> Espero ter ajudado.
>
> Abraços,
>
> Daniel
>
> -----Mensagem original-----
> De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
> nome de Thiago
> Enviada em: quarta-feira, 7 de abril de 2010 13:57
> Para: lista em firebase.com.br
> Assunto: [firebase-br] Ajuda com select
>
> Galera, boa tarde.
>
> Tenho uma tabela na seguinte estrutura.
>
> filial qtde data
> 01 1 01/04/2010
> 01 3 01/04/2010
> 01 3 02/04/2010
> 01 8 03/04/2010
> 01 5 05/04/2010
> 02 3 01/04/2010
> 02 4 04/04/2010
> 03 1 02/04/2010
>
> Com esses dados gostaria de ter um select que me retornasse o resultado
> de vendas agrupadas por dia, até ai tudo tranquilo mas gostaria de
> trazer cada dia em uma coluna do select, da seguinte forma.
>
> FL D01 D02 D03 D04 D05
> 01 004 003 008 000 005
> 02 003 000 000 004 000
> 03 000 001 000 000 000
>
> Será que exite alguma forma de fazer essa quebra, mesmo que seja por
> função, o período utilizado vai sempre ser um mês fechado.
>
> Aproveitando o gancho, eu poderia fazer isso com uma função mas ficaria
> algo muito complicado, pois faria da seguinte forma.
>
> Criaria um tipo para o retorno e traria os dados agrupados por data +
> filial e depois eu não saberia como setar o dia na variavel, existe
> alguma forma de fazer no psql como se faz por exemplo em delphi setar um
> nome do campo por uma string?
>
> Obrigado.
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
Mais detalhes sobre a lista de discussão lista