在SQL中比较和检索数字

时间:2013-09-08 14:28:45

标签: sql sql-server sql-server-2008

 Actsin table            Stars table                 Movies table

Starid  Movienum      Starid  Gname Fname      Movienum  Title  Yearreleased
  100     1000          100    Matt Damon        1000     God     2002   

Actsin,Stars,Movies是三个不同的表格。

如何以电影名称和年份发行“Matt Damon”的最新电影?

我被困在如何比较并获得最新一年。

1 个答案:

答案 0 :(得分:2)

这是一个基本的连接查询,带有order bytop子句(根据数据库可能是limit或其他内容):

select top 1 m.title, m.yearreleased
from movies m join
     actsin ai
     on ai.movienum = m.movienum join
     stars s
     on ai.starid = s.starid
where gname = 'Matt' and fname = 'Damon'
order by m.yearreleased desc;

gnamefname代表什么?特别是“fname”对于“Matt Damon”来说是“Damon”?

编辑:

您可能正在使用其他数据库。这可能有效:

select m.title, m.yearreleased
from movies m join
     actsin ai
     on ai.movienum = m.movienum join
     stars s
     on ai.starid = s.starid
where gname = 'Matt' and fname = 'Damon'
order by m.yearreleased desc
limit 1;

如果没有,您需要确定您正在使用的数据库。如果你正在为它编写SQL,那很重要。