[firebase-br] Problemas com GroupBy e campos calculados

Campus campus em sinos.net
Qui Dez 7 17:17:35 -03 2006


Só por curiosidade, como fica a performance desse select ?

----- Original Message ----- 
From: "Welson Avelar" <welson_avelar em yahoo.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Thursday, December 07, 2006 4:39 PM
Subject: Re: [firebase-br] Problemas com GroupBy e campos calculados


--- Caio Oliveira escreveu:
> O Jeferson tem razão Welson, não havia percebido que ele estava fora do
> SUM; modifique a posição dele para 11 e acrescente 11 no group by que
> deve funcionar.
>
> abraços
[--x--]

[Welson] Obrigado Caio e Jeferson pela ajuda. Consegui resolver passando a
posição na lista de "select", conforme indicado pelos amigos.
Ficou assim no final:

SELECT
   p.matriculacliente,
   p.nomecliente,
   cl.cepcomercial,
   cl.cepresidencial,

   SUM(prf.valormensal),

((a.receitasoperacionais-(a.materiaprima-a.outroscustosvariaveis)-a.custosfi
xos)-a.amortizacaodividas)
      AS disponibilidade_soma,

   p.rendaliquidamensal,

   (p.rendaliquidamensal * 0.3) AS disponibilidade_multiplicacao,

   (p.idpab) AS pab,

   CASE p.moradia
      WHEN 0 THEN 'Propria'
      WHEN 1 THEN 'Alugada'
      WHEN 2 THEN 'Cedida'
      WHEN 3 THEN 'Outros'
   END AS Moradia,

   CASE p.grauinstrucao
      WHEN 0 THEN '1o. grau incompleto'
      WHEN 1 THEN '1o. grau completo'
      WHEN 2 THEN '2o. grau incompleto'
      WHEN 3 THEN '2o. grau completo'
      WHEN 4 THEN 'Superior incompleto'
      WHEN 5 THEN 'Superior completo'
   END AS GrauDeInstrucao,

   CASE p.tiponegocio1
      WHEN 0 THEN 'Fixo'
      WHEN 1 THEN 'Serviço à domicílio'
      WHEN 2 THEN 'Ambulante'
      WHEN 3 THEN 'Feirante'
      WHEN 4 THEN 'Outros'
   END AS TipoDeNegocio

FROM
   tbpesquisas p, tbpesquisarendafamiliar prf, tbapresentacoes a,
   tbclientes cl, tbcontratos ct

WHERE
   (cl.idcliente = a.matriculacliente)
   AND (cl.idpab = a.idpab)
   AND (a.matriculacliente = p.matriculacliente)
   AND (a.idpab = p.idpab)
   AND (p.matriculacliente = ct.matriculacliente)
   AND (p.idpab = ct.idpab)
   AND (prf.idpesquisa = p.idpesquisa)
   AND (prf.idpab = p.idpab)
   AND (ct.dataassinaturacontrato >= '01.09.2004')
   AND (ct.dataassinaturacontrato <= '30.09.2006')

   GROUP BY 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12

Valew ae minha gente. Um forte abraço. ^^

=================================
'O que me preocupa não é o grito dos maus. É o silêncio dos bons.'
Martin Luther King.
=================================
Welson de Avelar Soares Filho
Analista/Programador Delphi
Gemini Sistemas
www.geminisistemas.com.br
Juiz de Fora - Minas Gerais
=================================



_______________________________________________________
Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular.
Registre seu aparelho agora!
http://br.mobile.yahoo.com/mailalertas/



______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa


-- 
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.432 / Virus Database: 268.15.14/578 - Release Date: 07/12/2006
01:27






Mais detalhes sobre a lista de discussão lista