Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Eu entendo de outra forma na parte

Boa tarde a todos, eu estou de outra forma os sql parte 2. Vamos lá.

Select a.nome from Aluno a where not exists(Select m.id from matricula m where m.aluno_id = m.id and m.data > now() - interval - 45 day)

na parte m.aluno_id = m.id aqui estou comparando o id do aluno, com a id da matricula? seria id_do_aluno = id_matricula? porque essa comparação aqui?

2 respostas
solução!

Olá Allisson,

se você fizer m.aluno_id = m.id de fato você estará comparando a chave primária de id da matricula com a chave estrangeira do id do aluno que está na tabela Matrícula. Tanto que em ambos os casos você usa a mesma o m, que é a tabela de Matricula.

No caso, no select da matricula, você precisa filtrar se existem matriculas daquele Aluno a . Então você precisa verificar se o id do Aluno a está igual ao aluno_id da Matricula m.

Clareou bastante aqui. Muito obrigado!