注册 登录
编程论坛 SQL Server论坛

一个类别表.一个新闻表.关联提取问题.[还是有点难度]呵..

fququ 发布于 2007-07-05 01:59, 1095 次点击

a表中有个classid和 classname字段.
b表中有id,classid,newstitle吧.
现在这样我想用一条语句(不用过程,也不写declare等的一其它代码),实现:属于每个类别的新闻,我只提取前十条.可以只针对a表操作.返回一个结果集....
试写了下.没实现...


就是把select top 10 * from a inner join b on a.classid =b.classid and a.classid=(遍历classid),然后把结果集union 一下

8 回复
#2
lzalibabalr2007-08-01 09:56
SELECT TOP 10 t.classid,t.classname,t.newstitle
FROM a
INNER JOIN
(SELECT a.classid,a.classname,b.newstitle
FROM a INNER JOIN b
ON a.classid=b.classid) AS t
ON a.classid=t.classid

#3
fququ2007-08-02 18:14
不是这意思.我的意思是每一类都新闻都只提前十条.然后汇在一个表里.你这个不是吧
#4
wyl9182007-08-03 09:35
关注中,想了想还是不会
#5
sky_yang_sky2007-08-03 15:57

我想用游標應該可以實現。

#6
西风独自凉2007-08-04 10:03

select * from (select top 10 * from a) as c inner join
(select top 10 * from b) as d on c.classid=d.classid
#7
fququ2007-08-05 16:02

楼上的回答大家说对吗?思路是不是有问题。。。还是我没说明白。

#8
Kendy1234562007-08-07 16:50

我认为一条SQL语句无法实现 一条语句无法实现既指定每个class取top 10 同时又遍历所有class id

#9
西风独自凉2007-08-07 19:15
汗了....
不知道你要怎样的....
1