回 帖 发 新 帖 刷新版面

主题:这条sql语句有错吗?跪求高手解决

select top(3)* from Posts inner join Users on Posts.UserId=Users.UserId
where Posts.PostId not in(select top(9) PostId from Posts order by PostId) and Posts.UserId=9 order by PostId
这是用作分页的sql语句,每页3条,可是把里面的那个子查询的那个数字9换成12或者是任何3的倍数的时候,为什么永远总是查出相同的3条信息,好像子查询和多表连接查询并用就会出现这种问题,请问大家到底该怎么写这条语句,
在C#中我是这样写的,以前都能分页,但写多了多表连接就不行了
string sql = string.Format("select top({0})* from Posts inner join Users on Posts.UserId=Users.UserId where PostId not in(select top({1}) PostId from Posts order by PostId) and Posts.UserId={2} order by PostId", count, page * count,userId);
请假高手解决啊!!!万分感谢![em6]

回复列表 (共1个回复)

沙发


高手帮帮忙![em18]

我来回复

您尚未登录,请登录后再回复。点此登录或注册