[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