在查询数据库前15条记录时遇到难题
ih636 2009-10-19 05:58:02 我想要多表查询数据库的内容,按时间倒排序并且只显示前15条记录
写了如下代码(其中dzzd kdzn yxcl 为表名):
select top 15 * from
(
select * from dzzd
union all
select * from kdzn
union all
select * from yxcl
)
as a
order by time desc
可是数据库有:
2009.15.19 的记录2条
2009.15.18 的记录2条
2009.15.17 的记录100条
结果在我显示的时候显示了:
2009.15.19 的记录2条
2009.15.18 的记录2条
2009.15.17 的记录100条
而我想让它显示的是:
2009.15.19 的记录2条
2009.15.18 的记录2条
2009.15.17 的记录11条
也就是说无论从数据库中查询到了多少条记录,无论任何情况,
我只要显示前15条记录,请问该怎么做
另说一下,如下方法我都试过了,没有用:
试过方法一:
select top 15 * from
(
select * from dzzd order by time desc
union all
select * from kdzn order by time desc
union all
select * from yxcl order by time desc
)
as a
order by time desc
试过方法二:
select top 15 * from
(
select top 5 * from dzzd order by time desc
union all
select top 5 * from kdzn order by time desc
union all
select top 5 * from yxcl order by time desc
)
as a
order by time desc
哪位大侠知道该怎么做麻烦告诉我一下,谢谢!!!