Clique para saber mais...
  Home     Download     Produtos / Cursos     Revista     Vídeo Aulas     Fórum     Contato   Clique aqui para logar | 11 de Julho de 2026
  Login

Codinome
Senha
Salvar informações

 Esqueci minha senha
 Novo Cadastro

  Usuários
220 Usuários Online

  Revista ActiveDelphi
 Assine Já!
 Edições
 Sobre a Revista

  Conteúdo
 Apostilas
 Artigos
 Componentes
 Dicas
 News
 Programas / Exemplos
 Vídeo Aulas

  Serviços
 Active News
 Fórum
 Produtos / Cursos

  Outros
 Colunistas
 Contato
 Top 10

  Publicidade

  [Dicas]  Transformando registros em colunas com Firebird
Publicado por ActiveDelphi : Segunda, Junho 09, 2008 - 08:52 GMT-3 (1401 leituras)
Comentários 3 Comentários   Enviar esta notícia a um amigo Enviar para um amigo   Versão para Impressão Versão para impressão
Administrador Veja nesta dica como transformar dados horizontais (registros) em colunas, na vertical, usando recurso do próprio banco de dados.

Imaginemos a tabela VENDAS na seguinte estrutura:

  loja  total  data
     1  10,00  06/05/08
     2  20,00  06/05/08
     3  30,00  06/05/08
     1  11,00  06/05/08
     2  22,00  06/05/08
     3  33,00  06/05/08

Agora o objetivo: somar o valor total das vendas em uma determinada data. Simples, não? Veja:

  select loja, sum(total) from vendas where data = '05/06/2008' group by loja

E o resultado:

  loja  sum    
     1  21,00
     2  42,00
     3  63,00

Agora O detalhe: cada loja deve ser uma coluna! Simples? Sim, simples!

  select
    sum(case when loja = 1 then total else 0 end) as Loja1,
    sum(case when loja = 2 then total else 0 end) as Loja2,
    sum(case when loja = 3 then total else 0 end) as Loja3
  from vendas where data = '05/06/2008'

Resultado:

  loja1  loja2  loja3
  21,00  42,00  63,00

Faça seus testes e, qualquer coisa, entre em contato. Abraços!

Por: Antonio Milano Junior
Contato: antonio.milano@terra.com.br



Comentários Comentários
   Ordem:  
Comentários pertencem aos seus respectivos autores. Não somos responsáveis pelo seus conteúdos.


por: rluiz (suporte@primeirodemaio.com.br) : Jun 10, 2008 - 12:53
(Informações sobre o membro | Enviar uma mensagem) http://
Muito boa essa dica, valeu mesmo!


por: raphaugusto (raphaaugusto@gmail.com) : Jun 17, 2008 - 11:45
(Informações sobre o membro | Enviar uma mensagem)
Excelente!!!
estava procurando algo assim ha algum tempo sem encontrar....
vou tentar implementar em meu sistema....
vlw mesmo...


por: tembra (claubertembra@hotmail.com) : Jun 28, 2008 - 12:46
(Informações sobre o membro | Enviar uma mensagem) http://
Bela sacada meu chapa!

Ainda dá pra fazer um laço externo ao select pra varrer a tabela de lojas e gerar as colunas de modo dinâmico.

Parabéns!
  Edição 112

Revista ActiveDelphi

  50 Programas Fontes


  Produtos

Conheça Nossos Produtos

Copyright© 2001-2016 – Active Delphi – Todos os direitos reservados