2013-08-26 46 views
0

我有一个名为形式具有以下字段的表SQL - 只得到一个特定的日期为每个记录

StudentID 
form 
date 

另外还有包含了信息,一个学生表,StudentID是一个外键从那张桌子。

当学生移动表格时,表格中会添加一个新条目。这样我们就记录了他们何时搬家。

我试图做一个查询,将从学生表(对于每个学生)获取所有信息,并以它们当前所在的表格(即,具有最近日期的表单从上面的表格)。

我可以为个别学生做,但无法找到办法为整个学生表。

任何帮助将不胜感激。

回答

0

这里有一个方法:

select s.*, 
     max(f.date) as MostRecentDate, 
     substring_index(group_concat(form order by date desc), ',', 1) as MostRecentForm 
from student s join 
    form f 
    on s.StudentID = f.StudentId 
group by s.StudentId; 
+0

完美的作品。之前我还没有意识到group_concat函数 - 这是它的一个非常创新的用法。谢谢! –

相关问题