[dbo].[View_Department]是一个视图,是对几个表的联合查询的结果,DomainID是这个表里的一个(机构)字段,如果直接查询这个表里的数据分页是没有问题的。就是下面的语句
SELECT TOP 10 * FROM [dbo].[View_Department]
WHERE DomainID NOT IN
(SELECT TOP 10 DomainID FROM [dbo].[View_Department])
但是我要是把机构字段加进where条件里去就不对,第一页可以查询出来,但就是查询不出来以后的页数,什么问题大家给我看看,指点一下,数据库里有16条记录,语句如下:看看哪里错了
//这里可以查询出第一页的前10条数据
SELECT TOP 10 * FROM [dbo].[View_Department]
WHERE DomainID NOT IN
(SELECT TOP 0 DomainID FROM [dbo].[View_Department]
ORDER BY [GroupID]) and DomainID = 2
//这句就查询不出来第2页了,为什么啊,
SELECT TOP 10 * FROM [dbo].[View_Department]
WHERE DomainID NOT IN
(SELECT TOP 10 DomainID FROM [dbo].[View_Department]
ORDER BY [GroupID]) and DomainID = 2
求高人指点,怎么该
------解决方案--------------------
- SQL code
SELECT TOP 10 * FROM [dbo].[View_Department] WHERE DomainID NOT IN (SELECT TOP 10 DomainID FROM [dbo].[View_Department] ORDER BY [GroupID]) and DomainID = 2 我给你解释一下你的语句:你要查询的是DomainID 不在ORDER BY [GroupID]前十条的数据中的DomainID ,而且DomainID <>2那这么一说假如前十中有DomainID =2,那么你不就是没结果了吗?我不明白你这个分也是什么意思,为什么要加DomainID <>2