[firebase-br] SQL Doido

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


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