 |
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
claudioforteski Novato

Registrado: Quarta-Feira, 2 de Junho de 2021 Mensagens: 24
|
Enviada: Ter Fev 28, 2023 4:21 pm Assunto: consulta sql |
|
|
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 |
|
 |
joemil Moderador

Registrado: Quinta-Feira, 25 de Março de 2004 Mensagens: 9099 Localização: Sinop-MT
|
Enviada: Qua Mar 01, 2023 10:16 am Assunto: |
|
|
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 |
|
 |
claudioforteski Novato

Registrado: Quarta-Feira, 2 de Junho de 2021 Mensagens: 24
|
Enviada: Qua Mar 01, 2023 1:24 pm Assunto: con |
|
|
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 |
|
 |
joemil Moderador

Registrado: Quinta-Feira, 25 de Março de 2004 Mensagens: 9099 Localização: Sinop-MT
|
|
Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|