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

Banco de dados e Power BI - Tenho um projeto para apresentação de indicadores de vários dados de atendimentos feitos na área da saúde. Preciso de alguém com experiência em banc...

Desenvolvimento de dashboard no Google Data Studio - Consultoria e desenvolvimento de um dashboard contábil, incluindo receitas, despesas, inadimplência, resultados por centro de custos, fluxo de caixa e financeiro, utilizando Google Dat...

Upload de banco de questões e simulados em plataforma de educação - [Descrição do projeto] Estamos em busca de um(a) freelancer detalhista, atencioso(a) e ágil para realizar o upload manual de questões e simulados em nossa plataforma de...

Desenvolver app de gerenciamento de vendas no Google Sheets - Preciso de um sistema que rode no Google Sheets para gerenciar minhas vendas. 1 - Cadastro dos clientes (nome, telefone, dados do endereço, e-mail) 2 - Cadastro do produto (nome, preç...

Análise preditiva e automação na prevenção de fraudes em transações - Análise preditiva e automação na prevenção de fraudes em transações de e-commerce. Preciso fazer uma análise em uma base de dados, aplicando...

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.