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]