[firebase-br] SQL Doido

José Mauricio Barbisan Zottis zottissistemas em gmail.com
Sábado Junho 19 13:14:58 -03 2021


o teste sem Cód Cliente
Obtidos 23723

------ Info. Desempenho ------
Tempo de Preparação = 31ms
Tempo de Execução = 1m 56s 672ms
Tempo Médio Leitura = 5.072,70 ms
Memória Actual = 30.248.424
Memória Max = 44.449.920
Buffers de Memória = 2.048
Leituras do disco para a Memória Intermédia = 140.656
Escritas da Memória Intermédia para o disco = 137
Leituras da Memória Intermédia = 1.884.583


Em sáb., 19 de jun. de 2021 às 12:58, José Mauricio Barbisan Zottis <
zottissistemas em gmail.com> escreveu:

> Opa, agradeço pelo retorno, o peso que se refere, não acontece, fiz um
> teste sem o uso de parâmetros e o retorno foi satisfatório, e olhe que a
> base é grande.
> também fiz o teste com AsString
> fiz teste usando cast para varchar, numeric, etc.
>
> fiz vários SQL, fazendo pequenas Views no Banco e juntando, também nada
> funcionou, inverti a lógica e aparece os dados, mas quando rodo no Delphi,
> não aparece
> O SQL que pelo menos aparece a descrição ´pe este, mas a soma do peso não
> aparece.
> tentei também com between, com <= e <= e nada
>
> select (select d.descricao from descricao_residuos d where d.codigo =
> v.cod_descricao)descricao,
>        (select sum(f.peso_coletado) from far_mtr f where f.cod_cliente =
> v.cod_cliente and f.cod_valores_cliente = v.codigo and f.data_coleta >=
> :vardataI and f.data_coleta <= :vardataF ) peso,
>       cast( round((select sum(f.peso_coletado) from far_mtr f where
> f.cod_cliente = v.cod_cliente and f.cod_valores_cliente = v.codigo and
> f.data_coleta >= :vardataI and f.data_coleta <= :vardataF ),2)as
> varchar(30)) peso2
>   from valores_cliente v
>   where v.cod_cliente = :varCodCliente
>
>
> Em sáb., 19 de jun. de 2021 às 12:21, Mário Reis via lista <
> lista em firebase.com.br> escreveu:
>
>> Duvido da eficiência desse teu código companheiro. Deve ter um peso
>> tremendo. Eu partiri esse query em vários outros mais pequenos e
>> dependentes, mas enfim!
>> Ainda assim, arriscaria que o problema está aqui:
>>              *ParamByName('vardataI').AsDate  *       :=
>>                  dtpPeriodoColeta1.Date;
>>              ParamByName('vardataI').AsDate
>>                  dtpPeriodoColeta2.Date;
>> Não sei que componentes usa, mas tb já tive um problema idêntico e
>> resolvi, passando o parâmetro data como AsString
>> em vez de AsDate e funcionou. Até hoje faço assim com os componentes do
>> TIBDatabase... TIBQuery etc...
>> P/favor tente e nos diga o resultado.
>> Espero ter ajudado. Obrigado
>>
>> Com os meus melhores cumprimentos
>> Mário Agostinho Reis
>> 919262146
>>
>> Esta mensagem contém informação de natureza confidencial e é
>> exclusivamente dirigida ao(s) destinatário(s) indicado(s). Se, por engano,
>> receber este email agradecemos que não o copie nem o reenvie e que nos
>> notifique do ocorrido através do email de resposta.
>>
>>
>> José Mauricio Barbisan Zottis via lista <lista em firebase.com.br> escreveu
>> no
>> dia sexta, 18/06/2021 à(s) 23:16:
>>
>> > Pessoal, boa noite.
>> > Tenho um SQL que já tentei de tudo quanto é jeito e todas as tentativas
>> via
>> > IBEx´pert da certo, porém quando passo pro componente no Delphi(7) não
>> > aparece nada.
>> > Alguém saberia o que pode estar acontecendo?
>> >
>> > o SQL é este:
>> >
>> > select v.cod_cliente,
>> >        sum(v.peso_coletado)peso_coletado,
>> >        v.descricao
>> >   from
>> > (select f.cod_cliente,
>> >        f.peso_coletado,
>> >        f.data_coleta,
>> >        f.cod_valores_cliente,
>> >       (select dr.descricao from descricao_residuos dr where dr.codigo =
>> > (select v2.cod_descricao from valores_cliente v2
>> >                             where v2.codigo =
>> > f.cod_valores_cliente))descricao
>> > from far_mtr f)v
>> > where v.cod_cliente = :varCodCliente
>> >   and v.data_coleta between :vardatai and :vardataf
>> >   group by v.cod_cliente,
>> >            v.descricao
>> >
>> > , no componente chamo assim(Como faço hà anos)
>> >
>> >          with qryColetasAgrup do
>> >            begin
>> >              Close;
>> >              ParamByName('varCodCliente').AsInteger :=
>> > qryBuscaCOD_CLIENTE.Value;
>> >              ParamByName('vardataI').AsDate         :=
>> > dtpPeriodoColeta1.Date;
>> >              ParamByName('vardataI').AsDate         :=
>> > dtpPeriodoColeta2.Date;
>> >              Prepare;
>> >              Open;
>> >            end;
>> >
>> > --
>> > ______________________________________________
>> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> > Para saber como gerenciar/excluir seu cadastro na lista, use:
>> > http://www.firebase.com.br/fb/artigo.php?id=1107
>> > Para consultar mensagens antigas:
>> > http://www.firebase.com.br/pesquisa_lista.html
>> >
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>> http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas:
>> http://www.firebase.com.br/pesquisa_lista.html
>>
>
>
> --
>
>

--


Mais detalhes sobre a lista de discussão lista