Voltar   Descobre > Informática > Programação
Procurar Novas Mensagens Marcar Fóruns como Lidos

 
 
Opções Procurar Display
  #1  
Antigo 10-2004, 11:26
Matriz_Reload Matriz_Reload está offline
Membro
 
Registo: Oct 2004
Mensagens: 5
Default Dúvida em SQL no MS Access

Tenho uma dúvida numa consulta em SQL numa base de dados no Microsoft Access, tenho um trabalho para entregar e não sei como resolver isto:
Há a tabela:
Aluno(Número,BI,Nome,Curso,Classificação,Disciplin a)
(número é chave primária da tabela Aluno)
Como posso calcular a média das classificações dos alunos?
Obrigado!
Responder com Quote
Publicidade
publicidade
  #2  
Antigo 10-2004, 11:49
Bruno Martins Bruno Martins está offline
Membro
 
Registo: Jan 2004
Local: Braga
Mensagens: 87
Default

Só uma coisa antes, disseram-te para fazeres a tabela dessa maneira ? ela não está muito correcta segundo as normalizações.

O melhor é criares 2 tabelas:

tabela aluno:

(Número,BI,Nome,Curso) (numero é chave primária)

tabela classificações:

(número, disciplina, classificação)
Responder com Quote
  #3  
Antigo 10-2004, 12:33
Bruno Martins Bruno Martins está offline
Membro
 
Registo: Jan 2004
Local: Braga
Mensagens: 87
Default

Aqui vão as 2 soluções para os 2 casos:

Caso continues a usar so uma tabela o comando SQL é o seguinte:

Código:
SELECT  Número,BI,Nome,Curso , AVG(Classificação) FROM alunos GROUP BY Número
Se usares as 2 tabelas em vez de uma usa o seguinte codigo SQL:

Código:
SELECT alunos.nome, alunos.bi, alunos,curso, class,numero, avg(classificação)  from classificação, alunos group by classificação.numero
Responder com Quote
  #4  
Antigo 10-2004, 12:38
Matriz_Reload Matriz_Reload está offline
Membro
 
Registo: Oct 2004
Mensagens: 5
Default

E como é que se ordena pelo nome?
Responder com Quote
  #5  
Antigo 10-2004, 12:40
l20109 l20109 está offline
Moderador
 
Registo: Feb 2004
Local: Portugal
Mensagens: 542
Default

Faz assim, para o primeiro caso:
Código:
SELECT Número,BI,Nome,Curso , AVG(Classificação) 
FROM alunos 
GROUP BY Nome;
A instrução GROUP BY permite ordenar o resultado da consulta por um dos campos da tabela, neste caso pelo campo Nome.

Para o segundo caso, com as duas tabelas:
Código:
SELECT Alunos.Nome, Alunos.BI, Alunos.Curso, Classificação.Número, AVG(Classificação.Classificação) 
FROM Classificação, Alunos
GROUP BY Aluno.Nome;
Nota: Não te esqueças de pôr o ";" no final da consulta!
Responder com Quote
Responder

« Anterior | Seguinte »

Opções Procurar
Procurar:

Pesquisa Avançada
Display

Regras
Você não pode criar novos tópicos
Você não pode responder a msgs
Você não pode colocar anexos
Você não pode editar as suas msgs

Código vB está On
Smilies estão On
Código HTML está Off
Escolher Fórum


São agora 00:32.


Descobre.com - A Comunidade em Português
Powered by vBulletin, Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Portateis .com : computadores portáteis - Logos, games and ringtones - Publicidade
Parte integrante do Portal Descobre.com - Online desde 2000