[firebase-br] RES: RES: Select com Pivot

Rafael Voltani rafael.volts em turbocode.com.br
Qui Fev 2 14:12:55 -03 2012


Boa tarde Igor

Obrigado pela dica... 
mas não consegui ainda transformar esse modelo para o firebird...

vou deixar por enqnto do jeito que esta...
pq jah tah funcionando boa parte dessa tela...
e tbm preciso entregar logo isso...
dps de terminar as outras funcionalidades... 
volto nessa query se ainda eu estiver no prazo... rs

dps posto como ficou... :D

obrigado mesmo..

[]s

Rafael Voltani
Firebird 2.5
Delphi 2010

-----Mensagem original-----
De: lista-bounces em firebase.com.br
[mailto:lista-bounces em firebase.com.br] Em nome de Igor Almeida
Enviada em: quinta-feira, 2 de fevereiro de 2012 12:03
Para: FireBase
Assunto: Re: [firebase-br] RES: Select com Pivot

Rafael, existe a forma de se fazer um PIVOT dinamico, o que necessita
é gerar uma regra para esses titulos do usuario.
Eu mesmo já tive esta necessidade e o que eu fiz foi que para os
titulos o usuario coloque como numero, 01, 02, 03...
Neste site tem uma dica de PIVOT dinamico
http://heliocarrilho.wordpress.com/2010/03/06/pivot-dinamico-%E2%80%93
-t-sql-avancado/

Em 1 de fevereiro de 2012 15:20, Rafael Voltani <
rafael.volts em turbocode.com.br> escreveu:

> Boa tarde Flavio
>
> Muito obrigado pela dica, ficou perfeito, pelo menos em um dos 
> relatórios, que os campos são fixos...
>
> Agora vou tentar fazer no outro, que o titulo varia conforme as
opções 
> do usuário, assim elimino vaaarias linhas de código... :D
>
> []s
>
> Rafael Voltani
> Firebird 2.5
> Delphi 2010
>
> -----Mensagem original-----
> De: lista-bounces em firebase.com.br
> [mailto:lista-bounces em firebase.com.br] Em nome de Flavio Divino 
> Enviada em: terça-feira, 31 de janeiro de 2012 20:07
> Para: FireBase
> Assunto: Re: [firebase-br] Select com Pivot
>
> Bom, quando eu preciso imitar o "pivot" eu faço a consulta da
seguinte 
> da seguinte maneira, conforme o exemplo abaixo, que pode ser usado
com 
> count ou com o sum, mas nem sempre a dica pode funcionar, vai
depender 
> de cada situação.
> Atenciosamente,
>
>
> Flávio Divino.
>
----------------------------------------------------------------------
> ----
> 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
>
> 2012/1/31 Felix - SOL Informática <felix em soltecnologia.com.br>:
> > Ola a todos!
> >
> > Pesquisando um pouco mais, encontrei
> > http://tracker.firebirdsql.org/browse/CORE-1738
> >
> > No final do post o Adriano dos Santos fala sobre procedures que 
> > poderiam criar algo similar.
> >
> > Alguem tem exemplos?
> >
> > Fco. Felix
> > www.soltecnologia.com.br
> >
> >
> > ______________________________________________
> > 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
>



-- 

Atenciosamente,

Igor Almeida
# 85.87767028
# 85.99825525
______________________________________________
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