Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

tony_lu

Contagem de status

Recommended Posts

Ola pessoal...td bem?

Preciso de um help...estou trabalhando com a programação php para gerar relatorio de um sistema... existe uma tabela de eventos que existe 4 tipos de status...se o status= 1 entao é um tipo de evento...se for status = 2... é outro e assim por diante....

 

No meu relatorio preciso exibir a quantidade de cada status...entao to fazendo 4 selects:

 

$aberto = mysql_query("SELECT count(DISTINCT a.codParticipacaoPre) AS total FROM participacaopre a Inner Join vinculo b ON a.matriculaAluno = b.matriculaVinculo Inner Join turma c ON b.turmaVinculo = c.codigoTurma Inner Join curso d ON c.codCurso = d.codCurso inner join eventopre e ON a.codEventoPre = e.codEventoPre where a.statusParticipacaoPre = '0' $where");

$linhaAberto = mysql_fetch_array($aberto);

 

$aceitas = mysql_query("SELECT count(DISTINCT a.codParticipacaoPre) AS total FROM participacaopre a Inner Join vinculo b ON a.matriculaAluno = b.matriculaVinculo Inner Join turma c ON b.turmaVinculo = c.codigoTurma Inner Join curso d ON c.codCurso = d.codCurso inner join eventopre e ON a.codEventoPre = e.codEventoPre where a.statusParticipacaoPre = '1' $where");

$linhaAceitas = mysql_fetch_array($aceitas);

 

$rejeitadas = mysql_query("SELECT count(DISTINCT a.codParticipacaoPre) AS total FROM participacaopre a Inner Join vinculo b ON a.matriculaAluno = b.matriculaVinculo Inner Join turma c ON b.turmaVinculo = c.codigoTurma Inner Join curso d ON c.codCurso = d.codCurso inner join eventopre e ON a.codEventoPre = e.codEventoPre where a.statusParticipacaoPre = '2' $where");

$linhaRejeitadas = mysql_fetch_array($rejeitadas);

 

$pendentes = mysql_query("SELECT count(DISTINCT a.codParticipacaoPre) AS total FROM participacaopre a Inner Join vinculo b ON a.matriculaAluno = b.matriculaVinculo Inner Join turma c ON b.turmaVinculo = c.codigoTurma Inner Join curso d ON c.codCurso = d.codCurso inner join eventopre e ON a.codEventoPre = e.codEventoPre where a.statusParticipacaoPre = '3' $where");

$linhaPendentes = mysql_fetch_array($pendentes);

 

Nao preciso dizer que a pagina demora 10 anos para carregar ne?

 

Eu sei que tem como eu fazer com apenas 1 select e eu consiga pegar o total de todos os status ao inves de fazer 4 selects...porem nao sei como...alguem pode me dar uma luz pelo amor de Deus??

 

Obrigado pessoal!

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT count(DISTINCT a.codParticipacaoPre) AS total FROM participacaopre a Inner Join vinculo b ON a.matriculaAluno = b.matriculaVinculo Inner Join turma c ON b.turmaVinculo = c.codigoTurma Inner Join curso d ON c.codCurso = d.codCurso inner join eventopre e ON a.codEventoPre = e.codEventoPre where $where

GROUP BY a.statusParticipacaoPre

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela resposta Giesta...mas nao entendi bem... tipo aonde neste select você conta o numero de cada status...por exemplo...o status = 0 possui um numero x ... o status numero 1 possui numero y ...etc

 

E tbm como vou exibir os valores via programaçao... pois da forma que eu fiz...eu dei um nome de "total" para exibir os totais de cada select...neste que você fez nao sei como faria para pegar as informações de totais de cada status..

 

Agradeço se puder esclarecer essas duvidas!

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.