在SQL中比较和检索数字
演员、明星、电影是三张不同的桌子 我怎样才能让《马特·达蒙》的最新电影有电影名称和发行年份在SQL中比较和检索数字,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,演员、明星、电影是三张不同的桌子 我怎样才能让《马特·达蒙》的最新电影有电影名称和发行年份 我陷入了如何比较和获取最近一年的问题。这是一个基本的连接查询,带有order by和top子句(可能是limit或其他取决于数据库的内容): gname和fname代表什么?特别是,什么样的“fname”才是“Matt Damon”的“Damon” 编辑: 您可能正在使用另一个数据库。这可能会奏效: select top 1 m.title, m.yearreleased from movies m jo
我陷入了如何比较和获取最近一年的问题。这是一个基本的连接查询,带有
order by
和top
子句(可能是limit
或其他取决于数据库的内容):
gname
和fname
代表什么?特别是,什么样的“fname”才是“Matt Damon”的“Damon”
编辑:
您可能正在使用另一个数据库。这可能会奏效:
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;
如果不是,您需要弄清楚您使用的是什么数据库。如果您正在为它编写SQL,这一点很重要。您使用的是哪个数据库?我想是SQL2008,软件是SQLfire,谢谢老兄!可能是“名字”和“姓氏”@BrianRogers。非常感谢。我不记得见过一个名为“fname”的字段,它不是“first name”的意思。但这是完全合理的。感谢Gordon,不管我使用的是SQL2008,我使用的DBMS似乎不接受类似“top”这样的子句。还有其他方法吗?@damowon你确定你在使用SQL2008吗?这个语法对我来说很好。如果我想利用我目前正在练习的子查询实现同样的结果,你能给我一些指导吗?非常感谢!!:)
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;
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;