Sql 多条件分页存储过程

shenhui_163 2010-10-21 09:16:37
小弟现在遇到一个分页的问题
情形如下.一共有五个条件要带进如下的存储过程中.当条件使用.当如果有一个条件为空或者为0,那么该条件就不能带入存储过程的条件里面.也就是说存储过程的条件根据条件的数值。可变化.

SELECT TOP (@PageSize) wordID,keyword,totalCount,monthCount,createTime
FROM (
SELECT wordID,keyword,totalCount,monthCount,createTime,
ROW_NUMBER() OVER(ORDER BY monthCount DESC) POS
FROM TSM_SearchWord
WHERE ? -- 这里条件应该如何组织
)
TSM_SearchWord
WHERE POS > ((@CurrentPage - 1) * @PageSize)
AND POS <= (@CurrentPage * @PageSize)
且不能在存储过程中拼接条件.
...全文
91 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoxiangqing 2010-10-21
  • 打赏
  • 举报
回复
要拼接的话,就要用exec
王向飞 2010-10-21
  • 打赏
  • 举报
回复
SELECT wordID,keyword,totalCount,monthCount,createTime,
ROW_NUMBER() OVER(ORDER BY monthCount DESC) POS
FROM TSM_SearchWord
WHERE 1= 1
---以下条件可以作为一个整体字符串动态拼接传递进来
and col1=isnull(@col1,col1)
and col2=isnull(@col2,col2)
或者
and isnull(col1,'9999')=isnull(@col1,isnull(col1,'9999'))

22,300

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧