[firebase-br] Calcular campo numa query

Euler Jr. euler em siginformatica.com.br
Ter Maio 31 08:16:52 -03 2005


José,
a melhor forma de lidar com cálculos e/ou pré-processamentos no BD eh 
via SP.
Neste caso acho que vc deveria criar uma SP, efetuasse os cálculos 
necessários e
retornaria o resultado ( parâmetros OUT ).

[]s
Euler Jr.


José Franco Pereira Junior wrote:

> Bom dia,
>
> Tenho um dbGrid cujo conteúdo é gerado pelo select abaixo (este select 
> está definido num componente IBQuery):
>
> SELECT CD_DISCO.DSC_ESTILO, TB_GENERO.GEN_DESCR, TB_ESTILO.EST_DESCR, 
> Count(CD_DISCO.DSC_CODIGO) AS ContarDeDSC_CODIGO
> FROM TB_GENERO INNER JOIN (TB_ESTILO INNER JOIN CD_DISCO ON 
> TB_ESTILO.EST_CODIGO = CD_DISCO.DSC_ESTILO) ON TB_GENERO.GEN_CODIGO = 
> TB_ESTILO.EST_GENERO
> GROUP BY CD_DISCO.DSC_ESTILO, TB_GENERO.GEN_DESCR, TB_ESTILO.EST_DESCR;
>
> Esse dbGrid apresenta as colunas TB_GENERO.GEN_DESCR, 
> TB_ESTILO.EST_DESCR e ContarDeDSC_CODIGO.
> Preciso gerar outra coluna que deve ser calculada por 
> ContarDeDSC_CODIGO / wTotReg onde wTotReg é dado pelo total de 
> ContarDeDSC_CODIGO. wTotReg pode ser obtido de outra forma também: 
> wTotReg := dtsConsulta.ibqryTitulo.RecordCount;
>
> Tentei fazer o cálculo dentro de um loop na unit do form onde o dbGrid 
> está definido, mas o Delphi me retornou um erro acusando que não é 
> possível efetuar alterações num dataset read-only.
>
> Alguém pode me ajudar a resolver o problema?
>
> Obrigado
>
> José Franco Pereira Junior
>
>
>





Mais detalhes sobre a lista de discussão lista