繁体   English   中英

SQL:在子查询中选择MAX

[英]SQL: Selecting the MAX within subqueries

好的,所以我的任务是找到一个特定演员的最新版本。 有多个表,一个有基本的电影信息(标题,年份),一个有演员姓名,名字,Starid,另一个有他们演出的movienum,有Movienum,Starid。

基本上我已经得到了75%的方式而且我只想回复一部特定演员最新的电影。 到目前为止,这是我的查询

  SELECT MovieTitle, Datereleased
  FROM MovieList
  WHERE Movienumber IN (SELECT Movienumber FROM ActsIn Where Starids IN (SELECT Starids FROM Stars       WHERE Familyname = 'Tarintino'))

现在,当我运行它时,我得到3行3部电影及其相关信息。 第一列是电影片名,第二列是Yearreleased。 我该如何处理查询才能返回最新的电影? (例如MAX年发布)

这是代码,现在研究它并查找你不知道的所有语法:

Select top 1 MovieTitle, DateReleased From MovieList
Inner Join
ActsIn
on ActsIn.MovieNumber = MovieList.MovieNumber
Inner Join
Stars
on Stars.Starids = ActsIn.StarIds
Where
Stars.FamilyName = 'Tarantino'
ORDER BY DateReleased DESC

这是获取所有演员的所有最新版本列表的另一种方法:

    select Stars.*, MovieTitle, DateReleased From MovieList inner join (
    Select MAX(DateReleased) AS DateReleased, StarIDs From MovieList
        Inner Join
        ActsIn
        on ActsIn.MovieNumber = MovieList.MovieNumber
    Group by StarIDs )  lastMovie on lastMovie.DateReleased = MovieList.DateReleased
    Inner join Stars on Stars.StarIDs = lastMovie.starIDs
Where FamilyName = 'Tarantino'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM