[firebase-br] select com totalização
Sandro Souza
escovadordebits em gmail.com
Qui Abr 28 10:25:49 -03 2011
Bom dia/tarde Ronan.
Nobre amigo, acredito que a mensagem de erro no seu SQL seja porque você
informou a tabela RESPOSTAS na cláusula FROM mas usou o alias RESPOSTA (no
singular) para acessar os campos da tabela de respostas.
Faço a minha humilde sugestão (não testada):
Vamos resolver em dois passos:
1 - Gerar um SELECT que nos retorne os totalizadores.
SELECT
NUMERO_QUESTAO,
COUNT(*) ERRADAS,
(SELECT COUNT(*)FROM RESPOSTAS) TOTAL_GERAL
FROM
RESPOSTAS
WHERE
ACERTOU = 'N'
2 - Utilizar o resultado do primeiro SELECT para chegar ao resultado final.
SELECT
X.NUMERO_QUESTAO,
X.ERRADAS,
(X.ERRADAS / X.TOTAL_GERAL) PERCENTUAL
FROM (
SELECT
NUMERO_QUESTAO,
COUNT(*) ERRADAS,
(SELECT COUNT(*)FROM RESPOSTAS) TOTAL_GERAL
FROM
RESPOSTAS
WHERE
ACERTOU = 'N'
) X
ORDER BY
X.ERRADAS DESC
Espero ter ajudado mais que atrapalhado. :D
Em 28 de abril de 2011 10:05, Ronan <ronan em antarescomputadores.com.br>escreveu:
> Amigos,
> possivelmente essa select para os mais experientes é simples mas, como eu
> estou iniciando nessa área, não consegui fazer.
> O problema é o seguinte:
> Tenho duas tabelas, uma de provas e outra de respostas com os campos:
>
> resposta.ID_Prova, resposta.Numero_Questao, resposta.Acertou
>
> Acertou recebe "S" ou "N".
>
> Eu preciso saber em ordem decrescente, para cada prova, as questões que
> foram mais erradas em valores absolutos e percentual.
>
> O melhor que eu consegui fazer foi o seguinte:
>
> Select
> resposta.numero_questao, resposta.Acertou, count(resposta.numero_questão)
> as total_questao, count(resposta.acertou) as total_acerto,
> (Total_acerto/Total_questao) as percentual
>
> from
> respostas,provas
> where
> resposta.ID_Prova = provas.ID
> group by
> resposta.numero_questao, resposta.acertou
>
> Order by desc percentual
>
> bem, deu tudo errado, nem executa, dá erro de sql. Eu tentei outras opções,
> olhei na internet, mas não consegui.
> Por isso, peço aos amigos uma ajuda nesse código.
> muito obrigado a todos
> Ronan
>
>
>
>
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
Mais detalhes sobre a lista de discussão lista