2个表一个作者表,一个文章表;查询最后5个作者发表的文章
 select * from 文章表 as a where a.作者ID=(select top 5 b.作者ID from 作者表 as b order by  注册时间 desc)

解决方案 »

  1.   

    select * from 文章表 where 作者ID In (select top 5 作者ID from 作者表 order by  注册时间 desc)
      

  2.   

    select * from 文章表 as a where a.作者ID=(select top 5 b.作者ID from 作者表 as b order by  注册时间 desc)
    把你的“=”換成“IN”
      

  3.   

    我这个是错的 还想IN 里面不能用order by 
      

  4.   

    select a.* 
    from 文章表 a
    right join (select top 5 作者ID from 作者表 order by  注册时间 desc) b
    on a.作者ID  = b.作者ID
      

  5.   

    SELECT * FROM 文章表 AS A 
    WHERE A.作者ID IN (SELECT TOP 5 B.作者ID 
       FROM 作者表 AS B 
       ORDER BY  注册时间 DESC)
      

  6.   

    5楼:
    我这个是错的 还想IN 里面不能用order by in里面不用ordery by 怎么知道最后5个作者呀?
    括号内返回多条记录,用in
      

  7.   

    select * from 文章表 as a 
    where a.作者ID 
    in (select top 5 b.作者ID from 作者表 as b order by  注册时间 desc)
      

  8.   

    select * from 文章表 as a where a.作者ID=(select top 5 b.作者ID from 作者表 as b order by  注册时间 desc)把 “=”号改为IN