日期:2014-05-18  浏览次数:20509 次

求一条MS SQL 2000 分页语句
己有一段,(两个表) .
我的思路是先从两表中先查询出我需要的东西,然后在放到一个临时的tab1(不是新建一个临时表)中,在把tab1分页

示例如下
SQL:

select top 10 * from
(
select * from person where id in (select personId from student)
)tab1 
where tab1.id not in (select top 5 * from tab1)

额,就这样,但是这段sql不通过。该怎么改呢?

谁还有别的分页语句不。

另外,存储过程也可以,但是不能用 EXEC(@sql) (不能拼接sql,用了第三方插件问题)。

------解决方案--------------------
select * into #tb from person where id in (select personId from student)

select top 10* from #tb where id not in(select top 5 * from #tb)

------解决方案--------------------
lz:1楼正解,简洁易用

希望lz成功。
------解决方案--------------------
select top 10* from #tb where id not in(select top 5 * from #tb)
不能正常执行:
提示:当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式。
------解决方案--------------------
sqL 版本是2000的