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 

Dúvida SQL (MYSQL)

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
grsoft
Novato
Novato


Registrado: Segunda-Feira, 10 de Abril de 2006
Mensagens: 74

MensagemEnviada: Ter Mar 12, 2019 8:32 pm    Assunto: Dúvida SQL (MYSQL) Responder com Citação

Boa noite pessoal, estou com uma dúvida numa SQL, estou querendo fazer um RANKING de vendas e estou me deparando com algumas situações que não
estou conseguindo resolver. Vou tentar sem o mais resumido possível.

Tenho as tabelas abaixo:

categprod - categoria de produtos
produtos - todos os produtos cadastrado
movimentoam - todos os movimentos
detmovimentoam - todos os produtos adicionados para cada movimento
senhas - os usuários cadastados

eu queria uma SQL que me desse as seguintes informações:

Soma dos valores vendidos, quantidade total de produtos vendidos, quantidade de movimentos, quantidade de produtos vendidos por cada categoria.

eu fiz uma SQL aqui só q não consegui reproduzir exatamente o que eu quero. fiz duas subquerys mas as mesmas não mostram a soma por usuário.

outra coisa que eu preciso é q a quantidade total de produtos por categoria saio lado a lado e não linha a linha.

Não sei se deu para entender tudo pois ela é bem complexa, pelo menos para mim kkkkkk. Caso alguém tenha alguma dúvida, só perguntar.

SQL:

select LOGIN,SUM(PRECOPROD) as TOTAL, SUM(QUANT) as TOTALQUANT, QUANTMOV as TC, SUM(PRECOPROD)/QUANTMOV as TM, QUANTTMP/QUANTMOV as PVQ,QUANTTMP,CATEG from (
SELECT senhas.LOGIN,
detmovimentoam.PRECOPROD,
detmovimentoam.QUANT,
categprod.NOME as CATEG,
(select count(distinct movimentoam.COD) from movimentoam
inner join detmovimentoam on (detmovimentoam.CODMOV=movimentoam.COD)
inner join produtos on (detmovimentoam.CODPROD=produtos.COD)
inner join categprod ON (produtos.CATEGORIA = CAST(categprod.COD as CHAR(30)))
inner join senhas ON (movimentoam.USUARIO = senhas.LOGIN)
where (movimentoam.DATAHORACONCLUSAO BETWEEN '2019-03-01 00:00:00' and '2019-03-12 23:59:59') and (movimentoam.USUARIO=senhas.LOGIN)
) as QUANTMOV,
(select sum(detmovimentoam.QUANT) from detmovimentoam
inner join movimentoam on (detmovimentoam.CODMOV=movimentoam.COD)
inner join produtos on (detmovimentoam.CODPROD=produtos.COD)
inner join categprod ON (produtos.CATEGORIA = CAST(categprod.COD as CHAR(30)))
inner join senhas ON (movimentoam.USUARIO = senhas.LOGIN)
where (movimentoam.DATAHORACONCLUSAO BETWEEN '2019-03-01 00:00:00' and '2019-03-12 23:59:59') and (movimentoam.USUARIO=senhas.LOGIN)
) as QUANTTMP
FROM detmovimentoam
inner join movimentoam on (detmovimentoam.CODMOV=movimentoam.COD)
inner join produtos on (detmovimentoam.CODPROD=produtos.COD)
inner join senhas ON (movimentoam.USUARIO = senhas.LOGIN)
inner join categprod ON (produtos.CATEGORIA = CAST(categprod.COD as CHAR(30)))
where (movimentoam.DATAHORACONCLUSAO BETWEEN '2019-03-01 00:00:00' and '2019-03-12 23:59:59')
) grsoft
group by LOGIN,CATEG
order by QUANTTMP DESC

segue o modelo que estou tentando criar onde cada figura dessa corresponde a categoria.

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 -> Banco de Dados 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