ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

consulta sql

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
claudioforteski
Novato
Novato


Registrado: Quarta-Feira, 2 de Junho de 2021
Mensagens: 24

MensagemEnviada: Ter Fev 28, 2023 4:21 pm    Assunto: consulta sql Responder com Citação

Olá pessoal

como poderia melhorar a consulta abaixo, pois tendo muitos registros,
essa consulta fica meio lenda, já coloquei indices mas não resolveu.
utilizo o Firebird

select P.codi_repre,R.fraza_soc,P.codi_cli,C.fApel_ido,P.odupla_m2,P.osimples_m2

,(select sum(case when PP.tipo="C" then PP.Metr_age*PP.fQuan_tid when PP.tipo="S" then PP.Metr_age*PP.fQuan_tid*PP.QT_aces end)
from car_pedidos_itens_calc PP
left outer join car_pedidos PE on PP.fempresa=PE.fempresa and PP.fnume_ped=PE.fregi_tro
where PE.fcodi_rep=P.codi_repre and PE.fcodi_cli=P.codi_cli and (PE.DATALIBREPRE between :dinicio and :dfim) and PP.onda="0"
) metr_ageOD

,(select sum(case when PP.tipo="C" then PP.Metr_age*PP.fQuan_tid when PP.tipo="S" then PP.Metr_age*PP.fQuan_tid*PP.QT_aces end)
from car_pedidos_itens_calc PP
inner join car_pedidos PE on PP.fempresa=PE.fempresa and PP.fnume_ped=PE.fregi_tro
where PE.fcodi_rep=P.codi_repre and PE.fcodi_cli=P.codi_cli and (PE.DATALIBREPRE between :dinicio and :dfim) and PP.onda="1"
) metr_ageOS

from clientes_provisoes P
left outer join Clientes C on P.codi_cli=C.fregi_tro
left outer join represen R on P.codi_repre=R.fregi_tro
where P.periodo=:periodo
order by R.FRAZA_SOC,C.fApel_ido


Grato

Claudio
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
joemil
Moderador
Moderador


Registrado: Quinta-Feira, 25 de Março de 2004
Mensagens: 9099
Localização: Sinop-MT

MensagemEnviada: Qua Mar 01, 2023 10:16 am    Assunto: Responder com Citação

vc pode dar uma breve explicacao do seu select? e qual versao do FB ta usando?
_________________
<b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
claudioforteski
Novato
Novato


Registrado: Quarta-Feira, 2 de Junho de 2021
Mensagens: 24

MensagemEnviada: Qua Mar 01, 2023 1:24 pm    Assunto: con Responder com Citação

Ola Obrigado pela colaboração
a versão do Firebird seria a 2.5

Essa consulta seria o seguinte:

Nessa linha
select P.codi_repre,R.fraza_soc,P.codi_cli,C.fApel_ido,P.odupla_m2,P.osimples_m2,
busco em uma tabela clientes_provisoes, todas as provisões de vendas, feitas para o representante e seu devido cliente, no periodo.

Nas outras, verifico na tabela de Pedidos, qual seria a metragem de onda dupla e onda simples das chapas de papelão vendidas.

Resumindo,
Faço as provisões de vendas do representante em uma tabela e consulto as vendas em outra.



Att

Claudio
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
joemil
Moderador
Moderador


Registrado: Quinta-Feira, 25 de Março de 2004
Mensagens: 9099
Localização: Sinop-MT

MensagemEnviada: Qui Mar 02, 2023 9:16 am    Assunto: Responder com Citação

ja conhece o canal MQFS no youtube?

da uma olhada em um destes videos:

https://www.youtube.com/results?search_query=mqfs+subselect
_________________
<b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB