Ir para o conteúdo
bioshock

[Resolvido] Dois selects sem IDs interligados

Mensagens Recomendadas

bioshock

Boas,

Antes de mais parece-me pouco provável que isto seja possível, ou pelo menos positivo de se fazer, mas fica a ideia.

Tabela Utilizadores:

ID| Nome | Email
1 | AA| teste@hotmail.com
2 | AA| alfredo@hotmail.com
3 | CC| joaquim@iol.pt

Tabela Dados

ID| Data| Notas| Email
1 |2013| atao| alfredo@hotmail.com
2 |2012| mau| alfredo@hotmail.com
3 |2013| psiuu| joaquim@iol.pt
4 |2013| frango| teste@hotmail.com

Bem, vou tentar ser explícito. Basicamente o que pretendendo é uma ligação das duas tabelas, onde a única ligação entre elas é o email. Eu quero seleccionar os dados todos, consoante o "Nome" da tabela Utilizadores e consoante o "Email". O "Email" apenas servirá para fazer a "interligação".

Ora, o que eu idealizei:

SELECT dados.data, dados.notas
FROM dados, utilizadores
WHERE utilizadores.nome = (SELECT nome FROM utilizadores WHERE email = 'alfredo@hotmail.com')
GROUP BY dados.email
ORDER BY dados.id DESC

Atendendo a esta query, o que eu queria que me devolvesse era:

2013 | atao
2012 | mau
2013 | frango

E o que me está a devolver é:

2013 | atao
2012 | mau
2013 | psiuu
2013 | frango

Possivelmente isto não é possível e terei de colocar uma chave estrangeira que os interligue.

Bem..

Um minuto depois de ter escrito o post, lembrei-me de fazer o INNER JOIN entre os emails e..parece-me que está a funcionar!

SELECT dados.data, dados.notas
FROM dados
INNER JOIN utilizadores ON dados.email = utilizadores.email
WHERE utilizadores.nome = (SELECT nome FROM utilizadores WHERE email = 'alfredo@hotmail.com')
GROUP BY dados.email
ORDER BY dados.id DESC

Qualquer sugestão/conselho é bem vindo. :thumbsup:

Editado por Rui Carlos
Formatação do código.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

 select `dados`.`data`,
        `dados`.`notas`
   from `dados` inner join `utilizadores` on `dados`.`email` = `utilizadores`.`email`
order by `dados`.`id` desc

basta isto

Editado por brunoais
geshi estava correto, mas escolhi um que usa cores mais apropriado para o MySQL.

IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bioshock

Pois, ainda mais simples. Afinal, tenho o email como campo de interligação..visto que ele é único.

Parece-me bem. Obrigado.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.