tony_lu 1 Denunciar post Postado Março 12, 2009 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
giesta 29 Denunciar post Postado Março 12, 2009 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
tony_lu 1 Denunciar post Postado Março 12, 2009 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