SQL 子查询和排序问题
我在做   asp.net   项目时 
 根据在子类表(class_db)   
 想在前台显示   文章列表示前9个,之后还要   art_time   (文章时间来显示)   降序排列   
 我的Sql语句如下   
 string   mysql= "select   top   9   art_id,art_title   from   art_db   where   art_c_id=(select   class_id   from   class_db   where   class_name= '游戏天地 ')   ORDER   BY   art_time   DESC ";   
 在前台是用   DataList   帮定的,如果不排序,是显示9个数据 
 但是加上   ORDER   BY   art_time   DESC   的话   她全部显示出来了,也有排序效果
------解决方案--------------------试试   
 SELECT top 2 * from (select * from tablea a order by id desc)   
 不过也是2条 
 SELECT top 2 *  from tablea a order by id desc 
------解决方案--------------------Access确实存在这个Bug,不过,你可以变通处理一下,如果表中存在唯一字段ID,可以这样:   
 string mysql= " 
 select top 9 art_id,art_title  
 from art_db  
 where art_c_id=(select class_id from class_db where class_name= '游戏天地 ')  
 ORDER BY art_time DESC, ID ";   --注意:这里除了原来的降序排序外,还增加了排序列ID