AMB Posted May 21, 2012 at 11:11 AM Report #457109 Posted May 21, 2012 at 11:11 AM Bom dia a todos É o seguinte estou com alguma dificuldade em realizar o select correcto para aquilo que pretendo, eu tenho uma base dados com varios dados de alunos e o que queria era realizar um group by por nome de aluno para ter acesso a todos os exames realizados pelo mesmo e até aqui tudo bem faço Select * from alunos where nome = 'João Miguel Fernandes' e aparece tudo o que é do João, mas eu tenho alunos com o mesmo nome, sendo a unica forma de os distiguir a data de nascimento, mas também existe o caso contrario em que tenho alunos com datas de nascimento iguais. O que pretendo é um select em que só obtenha resultados de um aluno. Já fiz Group BY Nome, Datanasc mas aqui tenho resultados de alunos diferentes.... Espero que me tenha feito entender... Desde já obrigada
Caça Posted May 21, 2012 at 11:21 AM Report #457110 Posted May 21, 2012 at 11:21 AM Deves procurar e relacionar as tabelas pelas suas chaves primárias.. Pedro Martins Não respondo a duvidas por PM
AMB Posted May 21, 2012 at 11:24 AM Author Report #457111 Posted May 21, 2012 at 11:24 AM Está tudo na mesma tabela....
KTachyon Posted May 21, 2012 at 11:31 AM Report #457114 Posted May 21, 2012 at 11:31 AM A resposta é aquilo que o Caça disse... Isto é o problema clássico de construção de bases de dados que já ninguém pensa hoje em dia porque a forma como se deve desenvolver uma base de dados já tem como base a utilização de chaves primárias distintas, nunca nomes e datas de nascimento... O que é que aconteceria se por acaso tivesses duas pessoas com o mesmo nome e a mesma data de nascimento? Arranjavas mais um campo que servisse de chave? Aquilo que tinhas de fazer é ter uma coluna na tabela de alunos que tivesse um identificador único para cada pessoa. Normalmente um número. “There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.” -- Tony Hoare
AMB Posted May 21, 2012 at 11:37 AM Author Report #457115 Posted May 21, 2012 at 11:37 AM Pois eu sei que a bd não está bem formada mas também não posso mecher nela, apenas a estou a usar para consulta e criação de um interface para consultas mais directas por parte do utilizador. Não tenho nenhum id que era o que queria, por acaso não tenho nenhum caso em tenha nome e data de nascimento em comum...
rumbafum Posted May 21, 2012 at 05:26 PM Report #457214 Posted May 21, 2012 at 05:26 PM então basicamente o que precisas até é filtrar pelos dois campos... Não percebo então qual o problema? Select * from alunos where nome = 'João Miguel Fernandes' and datanasc = cast('05-21-1990' as datetime) não daria os resultados para o João que nasceu em 21/5/1990?
AMB Posted May 22, 2012 at 08:40 AM Author Report #457317 Posted May 22, 2012 at 08:40 AM Resolvi a questão de outra forma, fiz um sricpt em java para realizar uma base dados com uma coluna ALUNODN em que o resultado é João Miguel Fernandes 05-21-1990. Pode não ser o mais correcto mas está a funcionar...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now