0
 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 是三个不同的表。

如何获得“马特达蒙”的最新电影以及电影名称和发行年份?

我被困在如何比较和获得最近一年的问题上。

4

1 回答 1

2

这是一个基本的连接查询,带有一个order byandtop子句(可能是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代表什么?特别是,“Matt Damon”的“Damon”是什么“fname”?

编辑:

您可能正在使用不同的数据库。这可能有效:

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,这很重要。

于 2013-09-08T14:33:45.927 回答