易截截图软件、单文件、免安装、纯绿色、仅160KB

寻一个SQL语句。

表一:NewsClassTable(类别表)
字段:cid(类别id),className(类别名称)

表二:NewsTable(新闻表)
字段:nid(新闻id),newsTitle(新闻题目),ssClass(所属类别,对应classname).

想得到每个类别的前两条新闻。效果如下:

社会:今天发生一件大事
社会:今天没有什么事
生活:生活真美好啊
生活:生活绝对是好的
军事:霉国挨揍了
军事:中国的航空母舰走向太平洋
科技:中国电脑系统开发成功
科技:银河计算机运算速度世界第一
......

以前都是采用笨法,先循环类别,再在循环里调用新闻,想用一条sql语句,但是总没写出来,只好请教大家了!
关注中..........................

用存储过程来做。
在存储过程中新建个临时表
在存储过程中定义一个游标来遍历类别表,在这个过程中可以把新闻表中每个类别的前2条数据插入临时表,最后存储过程返回这个临时表就可以了

如果是ACCESS:
select * from NewsTable as a where newsTitle in (select top 2 newsTitle from NewsTable where ssClass=a.ssClass order by newsTitle desc)



引用
如果是ACCESS:
select * from NewsTable as a where newsTitle in (select top 2 newsTitle from NewsTable where ssClass=a.ssClass order by newsTitle desc)



这个是方便的,SQL Server数据库也支持这个语法的

引用
引用 3 楼 lzp4881 的回复:
如果是ACCESS:
select * from NewsTable as a where newsTitle


相关问答:

csv文件转换成sql导入到数据库,没有数据为何?

执行的顺序:
1)文件浏览框(选择文件使用)
选择好文件后
点击一个导入按钮的时候 ,把上面上传框里的csv文件以一个ID为文件名,上传到**/**文件夹下
2)读取这个文件夹下的csv的文件,转换成sql
3 ......

SQL语句效率问题 - 其他数据库开发 / 其他数据库

大家帮忙看看这2个sql语句哪个查询的速度更快点。谢谢帮忙。比较着急。在做性能测试。
select * from
  表A LEFT OUTER JOIN 表B ON (表A.id || ' ' =表B.id) ,表C , 表D, 表E
Where其他条件
select * ......

求一SQL - MS-SQL Server / 基础类

表如下
教室ID 座位数 开始时间 结束时间 2009年1月1日 2009年1月2日 2009年1月3日
  101 50 08:00 08:30 30 40 50  
  101 50 09:00 ......

多表关联查询的 sql写法 - Oracle / 基础和管理

大家好,我最近维护一个项目,100多个表
只能用jdbc直连
遇到了多个表 关联 查询的情况 请大家指教
比如
student(studentid,classid)
class(classid,classname)
class_teacher(classid,teacherid)这个是中间表 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号