Sql 语句拼接 多条件分页查询
Create PROCEDURE [dbo].[Proc_B2B_GetBatchMainPaging]
@StationNo AS varchar() , --m
@StationName AS varchar() , --m
@PartNo AS varchar() , -- son
@PartName AS varchar() , --son
@IsOldPart AS varchar() , --m
@IsRebate AS varchar() , --m
@IsTransport AS varchar() , --m
@startApplyTime AS varchar() , --m
@endApplyTime AS varchar() , --m
@startExpectDate AS varchar(), --m
@endExpectDate AS varchar() , --m
@page AS int , --
@size AS int --
-- B2B_BatchPartMain as m
-- B2B_BatchApprovalDetail as D
-- B2B_BatchSendPartInfo as s
-- B2B_BatchPartsInfo as son
AS
BEGIN CREATE TABLE #ReturnTable (
[PartNo] varchar() NULL , -- son
[PartName] varchar() NULL , -- son
[Counts] DECIMAL(,) NULL , -- son
[ApplyPrice] [decimal](, ) NULL, -- son
[ApprovalPrice] [decimal](, ) NULL, -- son
[IsOldPart] [varchar]() NULL, --m
[StationNo] [varchar]() NOT NULL, --m
[StationName][varchar]() NOT NULL, --m
[ExpectDate] [datetime] NULL, --m
[OrderStatus] [varchar]() NULL, --m
[ApplyTime] [datetime] NULL, --m
[CurrnetApprover] [varchar]() NULL, --D
[ApprovalTime] [datetime] NULL, --D
[Supply] [varchar]() NULL --s
); CREATE TABLE #ReturnData (
[PageIndex] varchar() NULL ,
[PageSize] varchar() NULL ,
[totalNumber] varchar() NULL ,
[PageCount] varchar() NULL ,
); DECLARE @strSql varchar(MAX);
--拼接Sql语句
set @strSql='
select
son.PartNo,
son.PartName,
son.Counts,
son.ApplyPrice,
son.ApprovalPrice,
m.IsOldPart,
m.StationNo,
m.StationName,
m.ExpectDate,
m.OrderStatus,
ApplyTime,
D.CurrnetApprover,
d.ApprovalTime,
s.Supply from B2B_BatchPartMain as m
JOIN B2B_BatchPartsInfo as son ON m.BOrderNo=son.BOrderNo
JOIN B2B_BatchApprovalDetail as D ON m.BOrderNo=D.BOrderNo
JOIN B2B_BatchSendPartInfo AS S ON m.BOrderNo=S.BOrderNo
where ='
set @strSql= @strSql + ' AND convert(varchar(100), m.ApplyTime,21)>= ''' + convert(varchar(), @startApplyTime,) + ''' '
set @strSql= @strSql + ' AND convert(varchar(100), m.ApplyTime,21)<= ''' + convert(varchar(), @endApplyTime,) + ''' '
set @strSql= @strSql + ' AND convert(varchar(100), m.ExpectDate,21)>= ''' +convert(varchar(), @startExpectDate,) + ''' '
set @strSql= @strSql + ' AND convert(varchar(100), m.ExpectDate,21)<= ''' +convert(varchar(), @endExpectDate,) + ''' ' if( @StationNo is not null)
begin
set @strSql= @strSql + ' and m.StationNo =''' + @StationNo+'''' ;
end
--判断拼接Sql语句
if( @StationName is not null) and (@StationName!='')
begin
set @strSql= @strSql + ' and m.StationName =''' + @StationName+'''' ;
end
if( @PartNo is not null)and (@PartNo!='')
begin
set @strSql= @strSql + ' and son.PartNo =''' + @PartNo+'''' ;
end
if( @PartName is not null)and (@PartName!='')
begin
set @strSql= @strSql + ' and son.PartName =''' + @PartName+'''' ;
end
if( @IsOldPart is not null)and (@IsOldPart!='')
begin
set @strSql= @strSql + ' and m.IsOldPart =''' + @IsOldPart+'''' ;
end
if( @IsRebate is not null)and (@IsRebate!='')
begin
set @strSql= @strSql + ' and m.IsRebate =''' + @IsRebate+'''' ;
end
if( @IsTransport is not null)and (@IsTransport!='')
begin
set @strSql= @strSql + ' and m.IsTransport =''' + @IsTransport+'''' ;
end
--插入数据到临时表
insert INTO #ReturnTable exec(@strSql) ;
--总数量
DECLARE @totalNumber as INT ;
select @totalNumber=COUNT(PartNo) from #ReturnTable;
-- 总页数
DECLARE @PageCount as INT ;
SET @PageCount= Ceiling(@totalNumber*1.0/@size);
--插入返回信息
INSERT into #ReturnData VALUES(@page,@size,@totalNumber,@PageCount)
--分页查询数据
select * from (select ROW_NUMBER() over(order by PartNo asc) as rowNumber , * from #ReturnTable) as temp where rowNumber between (((@page-)*@size)+) and (@page*@size)
select * from #ReturnData; --删除临时表
drop table #ReturnTable
Sql 语句拼接 多条件分页查询的更多相关文章
- ASPNETCOREAPI 跨域处理 SQL 语句拼接 多条件分页查询 ASPNET CORE 核心 通过依赖注入(注入服务)
ASPNETCOREAPI 跨域处理 AspNetCoreApi 跨域处理 如果咱们有处理过MV5 跨域问题这个问题也不大. (1)为什么会出现跨域问题: 浏览器安全限制了前端脚本跨站点的访问资源, ...
- 查询拼接SQL语句,多条件模糊查询
多条件查询,使用StringBuilder拼接SQL语句,效果如下: 当点击按钮时代码如下: private void button1_Click(object sender, EventArgs e ...
- SQL语句(六)分页查询和联合查询
目录 一.分页查询 语法格式 应用 二.联合查询 语法和作用 特点 应用 UNION和UNION ALL的区别 一.分页查询 语法格式 SELECT 查询列表 FROM 表 WHERE ... GRO ...
- sql查询语句如何解析成分页查询?
我们公司主要mysql存储数据,因此也封装了比较好用mysql通用方法,然后,我们做大量接口,在处理分页查询接口,没有很好分查询方法.sql查询 语句如何解析成“分页查询”和“总统计”两条语句.可能, ...
- 六、SQL语句进行多条件查询,并解决参数为空的情况
一.SQL语句进行多条件查询,并解决参数为空的情况 QueryEntity query; var whereSql = new StringBuilder("Where 1=1") ...
- 项目一:第四天 1、快递员的条件分页查询-noSession,条件查询 2、快递员删除(逻辑删除) 3、基于Apache POI实现批量导入区域数据 a)Jquery OCUpload上传文件插件使用 b)Apache POI读取excel文件数据
1. 快递员的条件分页查询-noSession,条件查询 2. 快递员删除(逻辑删除) 3. 基于Apache POI实现批量导入区域数据 a) Jquery OCUpload上传文件插件使用 b) ...
- Java web实现综合查询+SQL语句拼接
首先展示图形界: 界面比较简单,但麻雀虽小五脏俱全.因为数据库只有六种数据类型,所以最多添加六个查询框. 测试以下问题: 删除方式是从上往下开始的,如果删除之后会有问题.(后续改进ing) 若干个并且 ...
- 判断合同金额是否可以转整形和sql语句中添加条件语句
主要用到sqlserver语句中的判断语法 if (min_hetonge.Length > 0 && int.TryParse(min_hetonge, out min)) s ...
- asp.net mvc多条件+分页查询解决方案
开发环境vs2010 css:bootstrap js:jquery bootstrap paginator 原先只是想做个mvc的分页,但是一般的数据展现都需要检索条件,而且是多个条件,所以就变成了 ...
随机推荐
- Tomcat7在centos7.3上正常运行,在centos7.2就不行了
我在jdk1.7的环境下,把一个tomcat7从一台centos7.3的服务器迁移到7.2,理论上讲 迁移完成之后只要端口没有被占用,环境变量配置完成,Tomcat是可以正常启动的(空的Tomcat ...
- JPG、PNG、GIF、SVG 等格式图片区别
1.图片 2. 前言 首先,我们要清楚的是,图片从类型上分,可以分为 位图 和 矢量图. 位图:位图又叫点阵图或像素图,计算机屏幕上的图是由屏幕上的发光点(即像素)构成的,每个点用二进制数据来描述其颜 ...
- scala Actor Akka
推荐博客:过往记忆 https://www.iteblog.com/archives/1154.html akka.io
- swust oj 987
输出用先序遍历创建的二叉树是否为完全二叉树的判定结果 1000(ms) 10000(kb) 2553 / 5268 利用先序递归遍历算法创建二叉树并判断该二叉树是否为完全二叉树.完全二叉树只能是同深度 ...
- Batch入门教程丨第二章:认识变量相关概念
在前两期的学习内容中,我们已经了解了Batch入门教程有关的知识和编程方法,如何编写和运行Windows Batch程序,脚本语言的入门方式等,今天我们将继续深入学习Batch入门教程之认识变量相关概 ...
- Java软件工程师面试常见问题集锦之一
1.面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节.抽象 ...
- Java Web每天学之Servlet的原理解析
Java Web每天学之Servlet的工作原理解析,上海尚学堂Java技术文章Java Web系列之二上一篇文章Java Web每天学之Servlet的工作原理解析是之一,欢迎点击阅读. Servl ...
- 音视频编解码技术(二):AAC 音频编码技术
一.AAC编码概述 AAC是高级音频编码(Advanced Audio Coding)的缩写,出现于1997年,最初是基于MPEG-2的音频编码技术,目的是取代MP3格式.2000年,MPEG-4标准 ...
- github pages + Hexo + node.js 搭建属于自己的个人博客网站
之前我写过一篇用Github实现个人主页的博客:https://www.cnblogs.com/tu-0718/p/8081288.html 后来看到某个大佬写的文章:[5分钟 0元搭建个人独立 ...
- [Swift]LeetCode228. 汇总区间 | Summary Ranges
Given a sorted integer array without duplicates, return the summary of its ranges. Example 1: Input: ...