[firebase-br] select com totalização

Ronan ronan em antarescomputadores.com.br
Qui Abr 28 16:22:14 -03 2011


Meus amigos
Em primeiro lugar, muito obrigado aos amigos que se dispuseram a me ajudar.
Desculpe por demorar a detalhar melhor.
É o seguinte,
eu estou com um programa em delphi que vai imprimir esses resultados, 
usando o reportBuilder.
Outra opção é ver os resultados numa grid.
Eu vou ter que fazer a filtragem, mas estou pensando em passar um 
parametro via combobox para a query.
Acho que isso eu consigo fazer tranquilo.
O problema é a totalização.
Vou testar as duas dicas e posto depois o resultado.
Mesmo assim, muito obrigado a vocês pela ajuda.
Se tiverem mais alguma dica, é bem vinda.
Ronan


Em 28/04/2011 14:07, Nivaldo Martins escreveu:
> Bom, agora ele decide o que fazer se quer filtrar, se não quer... Se puder
> detalhar melhor Ronan...
>
> Em 28 de abril de 2011 12:14, Paulo Portella
> <pportellaa.firebase em gmail.com>escreveu:
>
>> O SQL tá muito bom.
>>
>> Mas pelo que entendi ele quer uma listagem para comparar com percentuais...
>> isso ele não vai ter se tiver que listar Prova por Prova.
>>
>> Não é ?
>>
>> Vida de americano é assim: iPhone, iPod, iPad, iMac….
>> Já a de brasileiro é assim:IPTU, IPVA, ICMS, IPI etc
>>
>>
>> Em 28/04/2011 10:28, Nivaldo Martins escreveu:
>>
>>   Cara, acredito que seu problema seja mais de lógica do que de sql:
>>> Vejamos
>>>
>>> Você deseja saber a relação entre acertos e número de questões, deseja
>>> saber
>>> o número de acertos de cada questão
>>>
>>> primeiro, colocar as tabelas com vírgulas vai dar problemas. Você deve
>>> fazer
>>> join
>>>
>>> Ele também não reconhece os apelidos no cálculo. Vc vai ter que repetir o
>>> count na divisão
>>>
>>> A divisão está invertida
>>>
>>> O group by pelo campo acertou pode te dar problemas
>>>
>>> Talvez fique mais ou menos assim:
>>>
>>> Select
>>>     r.numero_questao,
>>>     r.Acertou,
>>>     count(r.numero_questão) as total_questao,
>>>     count(r.acertou) as total_acerto,
>>>     (count(r.acertou)/count(r.numero_questão)*100 as percentual
>>> from
>>>     respostas r join provas p on (r.id_prova = p.Id)
>>> where
>>>     p.Id = :Prova_que_voce_quer
>>> group by
>>>     r.numero_questao
>>> Order by desc percentual
>>> Talvez possua erros ainda, mas já está mais claro do que o que você fez.
>>> Testa aí
>>>
>>> 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
>>>>
>>>>   ______________________________________________
>>> 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
>>>
>> ______________________________________________
>> 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
>>
> ______________________________________________
> 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