Consulta SQL - Porcentagem

04/01/2016

0

Olá galera, é o seguinte, tenho uma consulta que retorna a porcentagem, ela está dessa forma a query


select a.nome_canal, count(id_controle_entrada_macro) * 100 / 
cast((select count(1) from controle_entrada_macro_tb) as float(1)) 
from canal_tb as a
join controle_entrada_tb as b
on a.id_canal = b.id_canal
join controle_entrada_macro_tb as c
on b.id_controle_entrada = c.id_controle_entrada
where descricao_erro = 'SUCESSO'
GROUP BY a.nome_canal


Ele retorna os dados assim:

Estipulante X | 27,81351
Estipulante Y | 0,4823151
Estipulante X | 32,79743
Estipulante Y | 22,34727

e assim ele vai montando até completar certinho a porcentagem, porém, eu queria diferente, exemplo, se um estipulante tem um produto, ou seja, foi rodado com sucesso, então eu queria que ele mostrasse assim:

Estipulante X | 100,00% rodou um, e foi com sucesso
Estipulante Y | 50,00 % rodou dois, e um com sucesso

Na minha consulta anterior, isso não acontece, ele contabiliza TODOS e faz o calculo da porcentagem baseado na contagem de todos os números...

Poderiam me ajudar? Agradeço desde já
Patrick

Patrick

Responder

Post mais votado

05/01/2016

com um sum normal.

mas vc esta com dois selects, esse segundo select deveria estar dentro dos parenteses, e vc poderia usar um union all.

Acho que ficaria mais ou menos assim.

select 
   nome_canal,
   sum(total_sucesso) total_sucesso,
   sum(total_erro) total_erro
from (
select 
   a.nome_canal, 
   count(c.id_controle_entrada_macro) as total_sucesso,
   0 total_erro
from canal_tb as a
join controle_entrada_tb as b on a.id_canal = b.id_canal
join controle_entrada_macro_tb as c on b.id_controle_entrada = c.id_controle_entrada
where descricao_erro = 'SUCESSO'
GROUP BY a.nome_canal
union all
select  
   a.nome_canal, 
   0 total_sucesso,
   count(c.id_controle_entrada_macro) as total_erro
from canal_tb as a
join controle_entrada_tb as b on a.id_canal = b.id_canal
join controle_entrada_macro_tb as c on b.id_controle_entrada = c.id_controle_entrada
GROUP BY a.nome_canal
) as teste1


acho que seria isso.

Alex Lekao

Alex Lekao
Responder

Mais Posts

05/01/2016

Alex Lekao

fmz!!!

Tamoae.

precisar de algo eh so falar.

Abraco.
Responder

05/01/2016

Isaac Jose

Disponha. vc conseguiu resolver os outros que tinha? lekao conseguiu dar continuidade no seu?
Responder

05/01/2016

Patrick

Disponha. vc conseguiu resolver os outros que tinha? lekao conseguiu dar continuidade no seu?


O do calculo da média movel ainda não consegui, parei de mexer nele para ver esse, vou voltar a trabalhar nele quando meu user da empresa for liberado para criação de functions, pois pelo que vi, só será possivel através delas.
Responder

05/01/2016

Isaac Jose

e precisa pois tem que verificar o intervalo de dias sobre um período com verificação de feriados e etc. a única maneira que consegui fazer foi assim... mais nunca parei pra pensar se da pra fazer de outra forma kkkk.
Responder

05/01/2016

Patrick

e precisa pois tem que verificar o intervalo de dias sobre um período com verificação de feriados e etc. a única maneira que consegui fazer foi assim... mais nunca parei pra pensar se da pra fazer de outra forma kkkk.


Bom, a parte de feriados não é importante, já que posso receber remessas dias de feriados e sabados e domingos, o importante é calcular dinamicamente apartir das datas que vai ter na tabela, ou seja, as datas de registro.
Responder

05/01/2016

Alex Lekao

Tinha mais coisa?

nao percebi no post. rsrsr

foi mal. rsrsrsrsr

agora, eu uso um select para calcular dias uteis, sem utilizar funcoes, achei melhor assim, que o pessoal do ERP fica meio bolado qdo cria coisa a mais no banco que faca alguns "milagres". rsrsr

Disponha. vc conseguiu resolver os outros que tinha? lekao conseguiu dar continuidade no seu?
Responder

05/01/2016

Patrick

Tinha mais coisa?

nao percebi no post. rsrsr

foi mal. rsrsrsrsr

agora, eu uso um select para calcular dias uteis, sem utilizar funcoes, achei melhor assim, que o pessoal do ERP fica meio bolado qdo cria coisa a mais no banco que faca alguns "milagres". rsrsr

Disponha. vc conseguiu resolver os outros que tinha? lekao conseguiu dar continuidade no seu?


Ter coisa tem, porém era assunto de outro post, enfim, explicando aqui, eu precisava criar uma query ou function, que retornasse baseado no valor que eu colocasse de dias, as médias moveis das minhas vendas, tipo bolsa de valores, e como não sou nenhum DBA, e nunca fiz, estou quebrando a cabeça pra fazer hahaa
Responder

05/01/2016

Alex Lekao

ah ta, entendi.

bom, especificamente isso eu nunca montei.

qqr coisa, depois se eu achar o post tento acompanhar, para ver se consigo ajudar com algo. rsrsr
Responder

05/01/2016

Patrick

ah ta, entendi.

bom, especificamente isso eu nunca montei.

qqr coisa, depois se eu achar o post tento acompanhar, para ver se consigo ajudar com algo. rsrsr


Segue o Link, se puder ajudar, fico muito agradecido: https://www.devmedia.com.br/forum/fazer-calculo-da-media-movel-com-datas/540809
Responder

05/01/2016

Alex Lekao

blz.

vou dar uma olhada.

vou ter que entender primeiro o que eh essa media movel. rsrsr

mas qqr coisa la eu vejo e faco mais questionamentos. rsrsr
Responder

05/01/2016

Patrick

blz.

vou dar uma olhada.

vou ter que entender primeiro o que eh essa media movel. rsrsr

mas qqr coisa la eu vejo e faco mais questionamentos. rsrsr



Links sobre média movel: http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:moving_averages

http://br.advfn.com/educacional/analise-tecnica/media-movel-simples

resumindo, é um grafico que a bolsa de valores usa...
Responder

05/01/2016

Alex Lekao

entendi.

cara, para mim nao da. rsrsr
Responder

05/01/2016

Isaac Jose

Kkkk claro que da começa a fazer .quando estiver fazendo relatórios no report fazemos uns desses kk
Responder

05/01/2016

Alex Lekao

opa...

com certeza!!!

mas to querendo comecar com o feijao com arroz primeiro.

kkkkkk

mas eu gostei da ideia de media movel e tal, qdo apresentar algo desse tipo pro chefe ele com certeza vai gostar. rsrsr
Responder

05/01/2016

Patrick

Bom, se vocês com um nivel maior que eu estão achando meio dificil, imagina pra mim HEUEHUEHE, porém irei tentar e ver o que acontece! HUEHE
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar