vai uma dica.... trabalho com alguns banco de dados gigantescos e isso 
me obrigou a excluir definitivamente os "subselects" das consultas, o 
tempo de resposta aumenta exponencialmente de acordo com o número de 
registros das tabelas... (imagine que para cada tupla ele executa o 
select interno...)
a solução foi usar functions, views e procedures para retornar consultas 
desse tipo.. o tempo de resposta diminuiu em até 60% dependendo o caso...
o/


Em 20/08/2010 17:36, Rodrigo Rossi escreveu:
> Eu tinha outro Sql dentro do meu código que não estava incluso o
> campo. Depois que arrumei isso a minha GRID era carregada e preenchida
> com os campos do tipo Texto todos desconfigurados, ou seja, caracteres
> muito estranhos, tentei mecher em algo sobre codificação mas nao surtiu
> efeito, então mudei meu select e resolveu o problema, segue o select
> valendo como dica:
>
> SELECT SOLICITACAO.*,
> USUARIO.USUNOME,
> (SELECT
> COALESCE(SUM(TEMPOSTRAMITE.SOLTEMPOATENDIMENTO),0)
> FROM TEMPOSTRAMITE
> WHERE TEMPOSTRAMITE.SOLID = SOLICITACAO.SOLID
> AND TEMPOSTRAMITE.USUIDATENDENTE =
> SOLICITACAO.USUIDRESPONSAVEL) AS TotalMinutos
> FROM SOLICITACAO
> INNER JOIN USUARIO ON
> SOLICITACAO.USUIDRESPONSAVEL = USUARIO.USUID
> WHERE USUARIO.USUUSUARIO = :NOME_USUARIO
> AND SOLICITACAO.SOLDATAFECHAMENTO IS NULL
> AND SOLICITACAO.DATACANCELAMENTO IS NULL
>
> Att.
>
> Rodrigo Rossi
> Skype: rodrigotrentinrossi
> MSN: rdrg_ro...@hotmail.com <mailto:rdrg_rossi%40hotmail.com>
> Fone: (45) 9963-1897
> Cascavel - PR
>
> On 20/08/2010 14:56, Rodrigo Rossi wrote:
> > Boa tarde.
> >
> > Tenho esse select dentro de um SQLQuery
> >
> > SELECT (SELECT
> > SUM(TEMPOSTRAMITE.SOLTEMPOATENDIMENTO)
> > FROM TEMPOSTRAMITE
> > WHERE TEMPOSTRAMITE.SOLID = SOLICITACAO.SOLID
> > AND TEMPOSTRAMITE.USUIDATENDENTE =
> > SOLICITACAO.USUIDRESPONSAVEL) AS TOTAL_MIN,
> > SOLICITACAO.*,
> > USUARIO.USUNOME
> > FROM SOLICITACAO
> > INNER JOIN USUARIO
> > ON SOLICITACAO.USUIDRESPONSAVEL = USUARIO.USUID
> > WHERE USUARIO.USUUSUARIO = :USUARIO_INFORMADO
> > AND SOLICITACAO.SOLDATAFECHAMENTO IS NULL
> > AND SOLICITACAO.DATACANCELAMENTO IS NULL
> >
> > Quando executo a aplicação ele retorna o erro: "qryChamados: Field
> > 'TOTAL_MIN' not found"
> >
> > Obs. Quando ativo a conexão em tempo de desenvolvimento funciona
> > normal, ou seja não da erro nenhum, e também quando eu vou no meu
> > ClientDataSet e aperto Crtl+F o campo TOTAL_MIN aparece la...
> >
> > O que eu to fazendo de errado?
> >



[As partes desta mensagem que não continham texto foram removidas]

Responder a