Pesquisar

Comando mysql

09/05/2021 às 09:44

Descrição do Projeto:

Preciso criar um select no mysql que seja ágil.

O select deverá da como resultado a tabela menor do lado direito da imagem em anexo.

Tabela de origem contém muitos dados e múltiplos usuários acessam a tabela simultaneamente.

a tabela de origem é gerada já via um select criado da conjunção de 4 tabelas.

segue select atual.

Tempo de execução de 2 segundos! Preciso de algo mais rápido.

select
tabela1.id_contrato,
tabela1.quantidadetotal quantidade_total,
IFNULL(tabela2.quantidade_cliente, 0) quantidade_cliente,
tabela2.id_cliente
from
(
select
tcontrato.id id_contrato,
sum(titemxpesquisacoletiva.quantidade) quantidadetotal
from
tclientexassociacao,
tcontrato,
titemxpesquisacoletiva,
tvencedorpesquisacoletiva
where
tclientexassociacao.id_cliente=$id_cliente and
tclientexassociacao.status='1' and
tclientexassociacao.id_associacao = tcontrato.id_cliente and
tcontrato.status='confirmadoassociacao'and
tcontrato.validade>='$data' and
titemxpesquisacoletiva.id_contrato = tcontrato.id and
tvencedorpesquisacoletiva.id_itemxpesquisacoletiva = titemxpesquisacoletiva.id and
titemxpesquisacoletiva.status='1' and
(
tvencedorpesquisacoletiva.status='1' or
tvencedorpesquisacoletiva.status='Finalizado Cliente'
)
group by id_contrato
) tabela1
left join
(
select
tcontrato.id id_contrato,
sum(titemxpesquisacoletiva.quantidade) quantidade_cliente,
titemxpesquisacoletiva.id_cliente
from
tclientexassociacao,
tcontrato,
titemxpesquisacoletiva,
tvencedorpesquisacoletiva
where
tclientexassociacao.id_cliente=$id_cliente and
tclientexassociacao.status='1' and
tclientexassociacao.id_associacao = tcontrato.id_cliente and
tcontrato.status='confirmadoassociacao'and
tcontrato.validade>='$data' and
titemxpesquisacoletiva.id_contrato = tcontrato.id and
tvencedorpesquisacoletiva.id_itemxpesquisacoletiva = titemxpesquisacoletiva.id and
titemxpesquisacoletiva.id_cliente = 2303 and
titemxpesquisacoletiva.status='1' and
(
tvencedorpesquisacoletiva.status='1' or
tvencedorpesquisacoletiva.status='Finalizado Cliente'
)
group by id_contrato
) tabela2
on
tabela1.id_contrato = tabela2.id_contrato


Para apoio tenho um modelo que que preciso resolver

Habilidades desejadas:

MySQL

Arquivos anexados:

Entre ou Cadastre-se para ver os arquivos anexados.

Atividades do cliente nesse projeto:

Última visualização: 11/05/2021 às 10:52

Última interação: 10/05/2021 às 13:14

Informações adicionais

Categoria: Web, Mobile & Software
Subcategoria: Banco de Dados
Orçamento: Aberto
Nível de experiência: Iniciante
Visibilidade: Público
Propostas: 7
Propostas excluídas: 6
Interessados: 12
Valor Mínimo: R$ 50,00

Cliente

Freelancer vencedor

Propostas (1)
  • Freelancer novo Promovida Aceita Aceita Rejeitada

    Submetido: | Oferta: Privado | Duração estimada: Privado

Nenhuma proposta foi encontrada.

Carregando...
Projetos semelhantes no 99Freelas

Implementar Power BI em uma página web - Estudar como implementar e implementar um dashboard Power BI em uma estrutura HTML desenvolvida em Node.js. Quantidade: 01

Alterar programação de banco de dados MSSQL - Tenho uma procedure no meu banco de dados MSSQL que preciso alterar.

Monitoramento de replicação em SQL Server - Boa tarde, tenho uma replicação em SQL Server e preciso monitorá-la. Preciso saber quando foi a última atualização (para saber se está atualizando),...

Relatório mensal com dados de marketing e vendas - Queremos compilar as informações de marketing e vendas, integrando dados de Google Ads, Constant Contact, Analytics e GestãoClick. Nosso objetivo inicial é automatizar ...

Gerente de automações para infoproduto - Estamos lançando um infoproduto e gostaria de conversar com um especialista em automações para entender quais as possibilidades, como n8n, ManyChat e ActiveCampaign. Temos um p...

Carregando...

Carregando...

Pesquisar

FREELANCERS
PROJETOS
Ocorreu um erro inesperado. Caso o erro persista, entre em contato conosco através do e-mail suporte@99freelas.com.br.