[firebase-br] Select aparentemente muito complicado (?????)

Eduardo Jedliczka eduardo em gerasoftinfo.com.br
Seg Nov 29 08:32:25 -03 2004


Denis,

Acho que esta "inversão" de linhas e colunas é muito mais fácil de fazer no
cliente (com uma tabela temporária) do que no servidor...

Mas se os seus produtos são sempre 10, pode-se utilizar um select do tipo

Select  Cliente,
  (Select Sum(V.Quantidade) from vendas V where C.Codcliente=V.CodCliente
and P.produto=1) as Produto1,
  (Select Sum(V.Quantidade) from vendas V where C.Codcliente=V.CodCliente
and P.produto=2) as Produto2,
  (Select Sum(V.Quantidade) from vendas V where C.Codcliente=V.CodCliente
and P.produto=3) as Produto3,
  (Select Sum(V.Quantidade) from vendas V where C.Codcliente=V.CodCliente
and P.produto=4) as Produto4,
  (Select Sum(V.Quantidade) from vendas V where C.Codcliente=V.CodCliente
and P.produto=5) as Produto5,
  (Select Sum(V.Quantidade) from vendas V where C.Codcliente=V.CodCliente
and P.produto=6) as Produto6,
  (Select Sum(V.Quantidade) from vendas V where C.Codcliente=V.CodCliente
and P.produto=7) as Produto7,
  (Select Sum(V.Quantidade) from vendas V where C.Codcliente=V.CodCliente
and P.produto=8) as Produto8,
  (Select Sum(V.Quantidade) from vendas V where C.Codcliente=V.CodCliente
and P.produto=9) as Produto9,
  (Select Sum(V.Quantidade) from vendas V where C.Codcliente=V.CodCliente
and P.produto=10) as Produto10
from clientes C

[S]

=====================
Eduardo Jedliczka
GeraSoft Informática
Apucarana - PR
=====================
----- Original Message ----- 
From: "Denis da Silva Guerra" <ministeriokairos em yahoo.com.br>
To: "'FireBase'" <lista em firebase.com.br>
Sent: Saturday, November 27, 2004 11:36 AM
Subject: RES: [firebase-br] Select aparentemente muito complicado (?????)


>
> O que eu realmente preciso é o que explica neste link usando o SQL Server.
> http://lib.seven.com.br/ampliar.asp?codcat=24&codartigo=558
>
> Será que dá para fazer com o Firebird?
>
>
> [ ]'s
>
> ~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^
> Denis da Silva Guerra
> denisdsguerra em yahoo.com.br
> São José do Vale do Rio Preto - RJ
> ~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^ .
>
>
> >From: "Denis da Silva Guerra" <ministeriokairos em yahoo.com.br>
> >Reply-To: FireBase <lista em firebase.com.br>
> >To: "'FireBase'" <lista em firebase.com.br>
> >Subject: [firebase-br] Select aparentemente muito complicado (?????)
> >Date: Sat, 27 Nov 2004 10:30:09 -0200
> >
> >
> >Pessoal,
> >Até hoje, com os conhecimentos que adquiri aqui na lista, tenho
conseguido
> >"me virar" para construir os meus selects.
> >Só que agora me deparei com uma situação que ainda não encontrei solução.
> >É o seguinte:
> >
> >Tenho as seguintes tabelas:
> >
> >PRODUTOS  (apenas 10 registros)
> >--------
> >CD_PRODUTO
> >NM_PRODUTO
> >
> >
> >CLIENTES
> >--------
> >CD_CLIENTE
> >NM_CLIENTE
> >
> >
> >VENDAS
> >------
> >CD_PRODUTO
> >CD_CLIENTE
> >QUANTIDADE
> >
> >O que eu preciso é o total (soma das quantidades) de produtos comprados
por
> >cada cliente.
> >Assim:
> >
> >Cliente  | Produto1 | Produto2 | Produto3 | Produto4...
> >---------+----------+----------+----------+------------
> >Fulano   |       50 |       20 |        0 |        0
> >Ciclano  |        0 |       10 |       10 |        0
> >Beltrano |      100 |       30 |        0 |       10
> >...
> >
> >
> >Tem algum jeito simples de construir esta pesquisa?
> >Qualquer sugestão é muito bem vinda.
> >
> >
> >[ ]'s
> >
> >~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^
> >Denis da Silva Guerra
> >denisdsguerra em yahoo.com.br
> >São José do Vale do Rio Preto - RJ
> >~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^ .
> >
> >---
> >Outgoing mail is certified Virus Free.
> >Checked by AVG anti-virus system (http://www.grisoft.com).
> >Version: 6.0.772 / Virus Database: 519 - Release Date: 01/10/2004
> >
> >
> >
> >______________________________________________
> >FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> >Para editar sua configuração na lista, use o endereço
> >http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>
> _________________________________________________________________
> MSN Messenger: converse com os seus amigos online.
> http://messenger.msn.com.br
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>
> ---
> Incoming mail is certified Virus Free.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.772 / Virus Database: 519 - Release Date: 01/10/2004
>
>
> ---
> Outgoing mail is certified Virus Free.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.772 / Virus Database: 519 - Release Date: 01/10/2004
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>





Mais detalhes sobre a lista de discussão lista