Group By From, , Join. Join, , .
Select Aluno.nome, Serie.descricao, Max(Treino.data) As data
From Aluno
Inner Join Serie On Serie.id_aluno = Aluno.id_aluno
Inner Join Treino On Treino.id_serie = Serie.id_serie
Group By Aluno.nome, Serie.descricao
, MS SQL :
Select nome, descricao, data
From (
Select Aluno.nome, Serie.descricao, Treino.data,
RANK() OVER (Partition By Aluno.nome Order By Treino.data Desc) AS Ordinal
From Aluno
Inner Join Serie On Serie.id_aluno = Aluno.id_aluno
Inner Join Treino On Treino.id_serie = Serie.id_serie
) Ranked
Where Ordinal = 1
, , Treino:
4, 1, 2015-12-12 5, 2, 2015-12-12, ?
. :
Select nome, descricao, data
From (
Select Aluno.nome, Serie.descricao, Treino.data,
ROW_NUMBER() OVER (Partition By Aluno.nome Order By Treino.data Desc, Serie.descricao) AS Ordinal
From Aluno
Inner Join Serie On Serie.id_aluno = Aluno.id_aluno
Inner Join Treino On Treino.id_serie = Serie.id_serie
) Ranked
Where Ordinal = 1