拉出最近的记录,包括加入2个表格和过滤器

时间:2016-10-06 16:16:12

标签: sql sql-server-2005

我已经看到很多关于提取最新记录的帖子。我还没能找到一个包含加入另一个表格和过滤器的文件。

我需要的是有关最近创建的文档(记录)的信息,但前提是它符合某些标准。加上我需要从另一个表中提取一些数据。

s504Plans表

    Student ID   |   Firstname   |   Startdate   |   Status
    ----------       ---------       ---------       ------
    111111            Johnny         1/5/2015          F
    222222            Sue            4/7/2016          I
    333333            Barb           2/5/2016          F
    111111            Johnny         2/1/2016          F

案例表

    Student ID   |   School   |   
    ----------       ------
    111111           Franklin
    222222           Eisenhower
    333333           Franklin

我希望看到的结果只是文档状态为F的最新文档...

    Student ID  |  Firstname  |  Startdate  |  Status  |   School
    ----------     ---------     ---------     ------      ------
    111111          Johnny       2/1/2016        F         Franklin
    333333          Barb         2/5/2016        F         Franklin

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用内连接和

select 
    a.Student_ID
  , a.Firstname
  , a.Startdate
  , a.Status
  , b.School
from s504Plans  as a
inner join Cases  as b on  a.Student_ID = b.Student_ID
inner join ( select Student_ID, max(Startdate ) as max_startdate
            from s504Plans
            group by Student_ID) t 
           on ( a.Student_id = t.Student_id and a.Startdate = t.max_startdate)
where a.Status = 'F'