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 语句拼接 多条件分页查询的更多相关文章

  1. ASPNETCOREAPI 跨域处理 SQL 语句拼接 多条件分页查询 ASPNET CORE 核心 通过依赖注入(注入服务)

    ASPNETCOREAPI 跨域处理 AspNetCoreApi 跨域处理 如果咱们有处理过MV5 跨域问题这个问题也不大. (1)为什么会出现跨域问题:  浏览器安全限制了前端脚本跨站点的访问资源, ...

  2. 查询拼接SQL语句,多条件模糊查询

    多条件查询,使用StringBuilder拼接SQL语句,效果如下: 当点击按钮时代码如下: private void button1_Click(object sender, EventArgs e ...

  3. SQL语句(六)分页查询和联合查询

    目录 一.分页查询 语法格式 应用 二.联合查询 语法和作用 特点 应用 UNION和UNION ALL的区别 一.分页查询 语法格式 SELECT 查询列表 FROM 表 WHERE ... GRO ...

  4. sql查询语句如何解析成分页查询?

    我们公司主要mysql存储数据,因此也封装了比较好用mysql通用方法,然后,我们做大量接口,在处理分页查询接口,没有很好分查询方法.sql查询 语句如何解析成“分页查询”和“总统计”两条语句.可能, ...

  5. 六、SQL语句进行多条件查询,并解决参数为空的情况

    一.SQL语句进行多条件查询,并解决参数为空的情况 QueryEntity query; var whereSql = new StringBuilder("Where 1=1") ...

  6. 项目一:第四天 1、快递员的条件分页查询-noSession,条件查询 2、快递员删除(逻辑删除) 3、基于Apache POI实现批量导入区域数据 a)Jquery OCUpload上传文件插件使用 b)Apache POI读取excel文件数据

    1. 快递员的条件分页查询-noSession,条件查询 2. 快递员删除(逻辑删除) 3. 基于Apache POI实现批量导入区域数据 a) Jquery OCUpload上传文件插件使用 b) ...

  7. Java web实现综合查询+SQL语句拼接

    首先展示图形界: 界面比较简单,但麻雀虽小五脏俱全.因为数据库只有六种数据类型,所以最多添加六个查询框. 测试以下问题: 删除方式是从上往下开始的,如果删除之后会有问题.(后续改进ing) 若干个并且 ...

  8. 判断合同金额是否可以转整形和sql语句中添加条件语句

    主要用到sqlserver语句中的判断语法 if (min_hetonge.Length > 0 && int.TryParse(min_hetonge, out min)) s ...

  9. asp.net mvc多条件+分页查询解决方案

    开发环境vs2010 css:bootstrap js:jquery bootstrap paginator 原先只是想做个mvc的分页,但是一般的数据展现都需要检索条件,而且是多个条件,所以就变成了 ...

随机推荐

  1. vs2010 sp1 安装Silverlight5 语言版本不匹配的问题

    好久之前用silverlight写了个程序,今天心血来潮想给朋友看一下,朋友更新了sl5,但是运行不起来. 所以有点郁闷,于是打算更新项目到silverlight5. 装sp1后,下载silverli ...

  2. .NET题目(收集来自网络)

    1: .NET和c#有什么区别? 答: .NET一般是指.NET FrameWork框架,是一种平台,一种技术 c#是一种编程语言,是可以基于.NET平台的应用 2: c#中的委托是什么?事件是不是一 ...

  3. SpringBoot+ Mybatis 搭建

    spring boot+mybatis整合   LZ今天自己搭建了下Spring boot+Mybatis,比原来的Spring+SpringMVC+Mybatis简单好多.其实只用Spring bo ...

  4. 动态规划-LIS

    https://vjudge.net/contest/297216?tdsourcetag=s_pctim_aiomsg#problem/E #include<bits/stdc++.h> ...

  5. git 本地同步分支数,删除远程已经删除掉的多余分支

    git remote show orgin  (展示当前本地分支和远程上的分支差异,多余分支后会被标注 use 'git remote prune' to remove.) git remote pr ...

  6. JS跨域两三事

    今日,前端开发要求新的Web服务需要支持跨域,因为要发起 Ajax 到后端web 服务域名请求数据: 前端application域名是 other.abc.com (举个栗子)  api接口域名是 a ...

  7. SSIS - 4.使用表达式任务和脚本任务实现更改变量和输出变量值

    一.脚本任务 脚本任务是SSIS包中功能很强大的组件,尤其当内置的任务无法实现我们需要的功能的时候,我们都可以使用脚本任务来实现.脚本任务使用VSTA(Microsoft Visual Studio ...

  8. [编译] 5、在Linux下搭建安卓APP的开发烧写环境(makefile版)—— 在Linux上用命令行+VIM开发安卓APP

    星期三, 19. 九月 2018 02:19上午 - BEAUTIFULZZZZ 0)前言 本文不讨论用IDE和文本编辑器开发的优劣,是基于以下两点考虑去尝试用命令行编译安卓APP的: 了解安卓APP ...

  9. 算法与数据结构(十) 二叉排序树的查找、插入与删除(Swift版)

    在上一篇博客中,我们主要介绍了四种查找的方法,包括顺序查找.折半查找.插入查找以及Fibonacci查找.上面这几种查找方式都是基于线性表的查找方式,今天博客中我们来介绍一下基于二叉树结构的查找,也就 ...

  10. Python代码缩进与测试模块

    一.Python代码缩进 Python 函数没有明显的  begin 和  end ,没有标明函数的开始和结束的花括号.唯一的分隔符是一个冒号 ( : ),接着代码本身是缩进的. 例如:缩进  bui ...