多条件查询的存储过程的写法

USE [ESD]
GO
/****** Object: StoredProcedure [dbo].[SP_RevertOrderInfo] Script Date: 2013/10/15 15:44:00 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROC [dbo].[SP_RevertOrderInfo]
(
@SPSN varchar(40),
@MaterialNo varchar(40),
@BorrowSPSN varchar(40),
@OrderID bigint,
@SOID bigint,
@PRCode bigint,
@BranchID varchar(40),
@UserID varchar(40),
@StartDate bigint,
@EndDate bigint,
@PageSize int,
@PageIndex int,
@Count int output
)
/******************************************************************************
** Name: SP_GetRevertOrderInfo
** Desc: 查询备件归还信息
** Return Values:SP_GetRevertOrderInfo
** Auth: 孙凯
** Date: 2013-05-28
******************************************************************************/
AS
BEGIN
SELECT * FROM
(
SELECT
ROW_NUMBER() OVER(ORDER BY [SPOD].[CreateTime] DESC) AS [rowIndex],
[SPO].[RTID],
[SPO].[BranchID],
[SPOD].[SPSN],
[SPOD].[MaterialNo],
[SPOD].[BorrowSPSN],
[SPOD].[SPMark],
(CASE WHEN [IDTS].[MarkStatus] IS NULL THEN '70' ELSE [IDTS].[MarkStatus] END) AS [MarkStatus],
[SM].[MaterialName],
[SM].[YakuanPrice] AS [DownYakuanPrice],
[USM].[YakuanPrice] AS [UpYakuanPrice],
[SA].[StoreAreaName],
[SPOD].[ChangeRecID],
[SPOD].[SOID],
[SPOD].[PRCode],
[SPO].[CreateBy],
[SPO].[CreateTime]
FROM [SP_RevertOrder] AS [SPO]
INNER JOIN [SP_RevertOrderDetail] AS [SPOD] ON [SPO].[RTID] = [SPOD].[RTID]
INNER JOIN [SP_Material] AS [SM] ON [SPOD].[MaterialNo]=[SM].[MaterialNo]
LEFT JOIN [SP_Material] AS [USM] ON [SPOD].[BorrowMaterialNo]=[USM].[MaterialNo]
INNER JOIN [MD_MaterialClass] AS [MC] ON [SM].[MaterialClassCode]=[MC].[MaterialClassCode]
INNER JOIN [SP_StoreArea] AS [SA] ON [SPOD].[StoreAreaID]=[SA].[StoreAreaID]
LEFT JOIN [SP_InventoryDetails] AS [IDTS] ON [SPOD].[SPSN] =[IDTS].[SPSN]
WHERE (@SPSN ='' OR [SPOD].[SPSN]=@SPSN)
AND (@MaterialNo ='' OR [SPOD].[MaterialNo]=@MaterialNo)
AND (@BorrowSPSN ='' OR [SPOD].[BorrowSPSN]=@BorrowSPSN)
AND (@SOID IS NULL OR [SPOD].[SOID]=@SOID)
AND (@PRCode IS NULL OR [SPOD].[PRCode]=@PRCode)
AND [SPO].[BranchID]=@BranchID
AND (@OrderID IS NULL OR [SPO].[RTID]=@OrderID)
AND (@UserID ='' OR [SPOD].[CreateBy]=@UserID)
AND ([SPO].[RTID]>=@StartDate
AND [SPO].[RTID]<=@EndDate)
) AS [RES]
WHERE [RES].[rowIndex]>@PageSize*(@PageIndex-1) AND [RES].[rowIndex]<=@PageSize*@PageIndex

SET @Count=(SELECT COUNT([SPOD].[RTDID])
FROM [SP_RevertOrder] AS [SPO]
INNER JOIN [SP_RevertOrderDetail] AS [SPOD] ON [SPO].[RTID] = [SPOD].[RTID]
INNER JOIN [SP_Material] AS [SM] ON [SPOD].[MaterialNo]=[SM].[MaterialNo]
LEFT JOIN [SP_Material] AS [USM] ON [SPOD].[BorrowMaterialNo]=[USM].[MaterialNo]
INNER JOIN [MD_MaterialClass] AS [MC] ON [SM].[MaterialClassCode]=[MC].[MaterialClassCode]
INNER JOIN [SP_StoreArea] AS [SA] ON [SPOD].[StoreAreaID]=[SA].[StoreAreaID]
LEFT JOIN [SP_InventoryDetails] AS [IDTS] ON [SPOD].[SPSN] =[IDTS].[SPSN]
WHERE (@SPSN ='' OR [SPOD].[SPSN]=@SPSN)
AND (@MaterialNo ='' OR [SPOD].[MaterialNo]=@MaterialNo)
AND (@BorrowSPSN ='' OR [SPOD].[BorrowSPSN]=@BorrowSPSN)
AND (@SOID IS NULL OR [SPOD].[SOID]=@SOID)
AND (@PRCode IS NULL OR [SPOD].[PRCode]=@PRCode)
AND [SPO].[BranchID]=@BranchID
AND (@OrderID IS NULL OR [SPO].[RTID]=@OrderID)
AND (@UserID ='' OR [SPOD].[CreateBy]=@UserID)
AND ([SPO].[RTID]>=@StartDate
AND [SPO].[RTID]<=@EndDate))
RETURN
END
USB_TYPE-C 母座电路设计 本文详细介绍了USB Type-C接口(C2765186)的电路设计要点,重点解析了电源、识别和数据三部分的关键连接方案。电源部分需并联VBUS和GND引脚并加宽走线以承载3A电流;识别部分必须为CC1/CC2引脚配置5.1kΩ±1%精度的下拉电阻,这是触发PD充电的核心条件;数据部分通过短接正反插引脚实现盲插功能。文档还提供了完整的引脚对照表,并强调PCB布局需注意ESD防护、差分走线阻抗控制等要点,为Type-C接口设计提供了实用指导。 阅读详情

相关推荐

从MC到DC:三维重建算法的核心原理与实战对比

本文深入对比了三维重建领域两大经典算法Marching Cubes(MC)与Dual Contouring(DC)的核心原理与实战表现。MC算法原理直观、实现简单,但存在特征丢失和二义性问题;DC算法通过求解二次误差函数(QEF)和利用法向量信息,能更好地保留模型的尖锐特征,但计算更复杂。文章结合医学影像处理实例,为开发者根据速度、精度和特征保真度需求选择合适算法提供了清晰指南。

weixin_29251131的博客 1033

oracle存储过程if多个条件_oracle存储过程(适合初学者)

创建简单存储过程(Hello World)为了方便读者简单易懂,我将下面使用到的表复制给大家。具体表中的数据,请大家自己填写-- Create tablecreate table EMP( empno NUMBER(4) not null, ename VARCHAR2(10), job VARCHAR2(9), mgr NUMBER(4), hireda...

weixin_34404599的博客 1万+

Shell数学计算(算术运算,加减乘除运算)

声明: 本篇博客的学习途径主要为以下网站和课堂讲解,发博客目的仅为学习使用,在该博客的基础上做了一定程序的简略和修改。 参考博客 : 原文链接:http://c.biancheng.net/shell/ Shell数学计算Shell数学计算数学计算命令对整数进行数学运算: (()) / let / $[] /exprShell (())Shell let命令bc命令:一款数学计算器在 Shell 中使用 bc 计算器 Shell数学计算 默认情况下,Shell 不会直接进行算术运算,而是把+两边的数据(数

AKUANer的博客 2万+

SQL Server 存储过程中处理多个查询条件的几种常见写法分析,我们该用那种写法...

  本文出处: http://www.cnblogs.com/wy123/p/5958047.html    最近发现还有不少做开发的小伙伴,在写存储过程的时候,在参考已有的不同的写法时,往往很迷茫,不知道各种写法孰优孰劣,该选用那种写法,以及各种写法优缺点,本文以一个简单的查询存储过程为例,简单说一下各种写法的区别,以及该用那种写法专业DBA以及熟悉数据库的同学请无视。   废话不多,...

weixin_33905756的博客 387

Rust嵌入式开发环境搭建指南(基于Stm32+Vscode)

本文档旨在指导开发者如何搭建基于Rust语言的STM32嵌入式开发环境。相比传统的C/C++开发方式,Rust提供了更强的内存安全保障和现代化的语言特性,非常适合嵌入式系统开发。本指南将详细介绍从环境搭建到项目配置的全过程,特别关注VSCode作为IDE的配置以及STLink和DAPLink调试器的使用。

u014627020的博客 2601

卡诺图化简法

目录 1.学前需要了解知识点 2.卡诺图(karnaugh map) 3.逻辑函数的卡诺图化简法 4.总结 1.学前需要了解知识点 最小项的定义 最小项的表示方法 最小项的相邻性 最小项的定义:一个函数的某个乘积项包含了函数的全部变量,其中每个变量都以原变量或反变量的形式出现,且仅出现一次,则这个乘积项称为该函数的一个标准积项,通常称为最小项。 最小项的表示方法:通常用来表...

hahasusu的专栏 17万+

存储过程的编写

参考视频:https://www.imooc.com/video/7256 常见语法参考:https://www.cnblogs.com/chinafine/articles/1776085.html oracle存储过程的编写,在plsql基础上编写。 存储过程是没有返回值的,但是可以通过out参数返回值。 1.存储过程的调用(2中方式)     在sql窗口执行一下:     a....

我想静静 4万+

平衡电桥在高压绝缘检测中的动态切换策略与误差优化

本文深入探讨了平衡电桥在高压绝缘检测中的动态切换策略与误差优化方法。通过分析四种基本切换模式及智能切换时序设计,显著提升检测精度与范围。结合电阻选型黄金法则和软件补偿技术,有效降低测量误差,为电动汽车电池管理系统提供可靠的安全保障。

weixin_30275415的博客 473

存储过程详解

存储过程入门

weixin_49196517的博客 955

YOLOv11改进 | 引入SFSConv空间频率选择卷积(含SFSC3k2二次创新),空间频率特征协同作用,检测性能全面提升

本文提出在YOLOv11中引入SFSConv空间频率选择卷积模块,通过显式分离和动态融合空间域与频率域特征,解决传统卷积对多尺度目标检测的局限性。SFSConv包含空间频率分离、动态权重融合和协同特征重建三个核心机制,并进一步创新提出SFSC3k2结构,通过双路频率分支增强特征协同作用。该改进显著提升了YOLOv11在遥感、医学等多尺度复杂场景下的检测性能,实验显示在微小目标检测任务中mAP提升5%-10%。代码实现展示了SFSConv模块的核心逻辑及其在PyTorch中的高效实现。

走向CTO的路上... 768

一文弄懂Word2Vec之skip-gram(含详细代码)

目录 前言 一、什么是Skip-gram算法 二、目标是什么 三、定义表示法 3.1 one-hot向量 3.2 词向量(word vector) 3.3 单词矩阵 3.4 单词相似度 3.5 softmax函数 3.6算法过程 3.7 求softmax 四、skipgram代码实现 4.1 如何把词转换为向量 4.2 CBOW和Skip-gram的算法实现 Skip-gram的理想实现 Skip-gram的实际实现 4.3 使用Pytorch实现Skip-gram .

Python,数据分析,机器学习,深度学习 1万+

SQLServer 存储过程中不拼接SQL字符串实现多条件查询

最近在工作中要使用存储过程,因为前端页面传过来的下拉菜单的值不固定,数据是这样的,0是全部,1是男,2是女,当选择全部时,要能查询出所有的用户,否则只能查询出来男的用户或者女的用户,一般都是在存储过程中写 declare @sql nvarchar(500), @str nvarchar(20) set @str = 'and sex = 1' set @sql = 'select * fr

zhangshufei8001的专栏 1979

【WorkBuddy专栏19】技能的创造与迁移——从零开始打造你的AI工作流

【WorkBuddy专栏19】技能的创造与迁移——从零开始打造你的AI工作流

AI人人懂 373

Oracle递归以及索引使用讲解

如果在语句中只使用A作为连接条件进行表连接的话,可能就不会触发这个索引,在同时使用了这三个以后,就会快很多,如果数据量比较大的话,速度的提示可能是几十倍的提升。所以使用的话,可以放在游标中或者存储过程中通过传参的方式来进行,不推荐使用表连接的方式去查询,会相当的慢。这种结构查询的话是对所有的结果进行查询以后再进行过滤,而且如果其中出现了死循环的话,可能会直接报错。很多时候,虽然加了索引,但是还是很慢,这种情况下,可能是没有用到这个索引。比如一个表的索引是Normal类型,对象有A,B,C。...

wuxiaopengnihao1的博客 477

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

oracle存储过程 多条件,Oracle多条件查询实际分页存储过程实操

以下的文章主要是介绍Oracle多条件查询分页存储过程,以下就是Oracle多条件查询分页存储过程具体方案的描述,希望在你今后的学习中会有所帮助。将业务逻辑放到Oracle中使得后台代码很精简,Oracle很有搞头!PL\SQL:create or replace procedure proc_client_List --客户多条件查询(pro_cursor out pkg_order.p_cur...

weixin_31461519的博客 501

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

必须知道的SQL编写技巧,多条件查询不拼字符串的写法

在做项目中,我们经常遇到复杂的查询方法,要根据用户的输入,判断某个参数是否合法,合法的话才能当作过滤条件,我们通常的做法是把查询SQL赋值给一个字符串变量,然后根据判断条件动态的拼接where条件进行查询。下面来简单说一下写SQL中遇到的问题和解决办法。    一、不确定字段名,而产生的SQL字符串拼接    比如,有个公司要做一个系统,要支持多语言,这个时候我们就要将语音信息存储在数据

听风暖的博客 3573

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

存储过程里多条件判断(SQL组合查询)

存储过程里多条件判断(SQL组合查询) https://www.cnblogs.com/jhxk/articles/4844221.html 我存储过程里想实现多个传入参数的判断,里面有7个传入参数条件. CREATEPROCEDUREsp_tbWasteSource_Search ( @sddatetime,//开始日期 @eddatet...

Junit的博客 7132

sql server存储过程基本写法

sql server存储过程的优点 1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般 SQL 语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。 2.当对数据库进行复杂操作时(如对多个表进行 Update,Insert,Query,Delete 时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。这些操作,如果用程序来完成,就变成了一条条的 SQL 语句,可能要多次连接数据库。而换成存储,只需要连接一次数据库就可以了。 3.存储过程可以重复使用

xy631739211的博客 1万+

Oracle的存储过程基本写法

目录 1.1,Oracle存储过程简介:  1.2,创建存储过程的语法: 2.0,游标的使用,看到的一段解释很好的概念,如下: 1.1,Oracle存储过程简介:    存储过程是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程可以简化应用开发人员的很多工作, 减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。 优点: 允许模块化程序...

c851204293的博客 1万+

以一个简单的查询存储过程为例,简单说一下sql的几种写法

最近发现还有不少做开发的小伙伴,在写存储过程的时候,在参考已有的不同的写法时,往往很迷茫, 不知道各种写法孰优孰劣,该选用那种写法,以及各种写法优缺点,本文以一个简单的查询存储过程为例,简单说一下各种写法的区别,以及该用那种写法 专业DBA以及熟悉数据库的同学请无视。 废话不多,上代码说明,先造一个测试表待用,简单说明一下这个表的情况 类似订单表,订单表有订单ID,客户ID,订单创建时间等,查询条件是常用的订单ID,客户ID,以及订单创建时间 create table SaleOrder (

lingsheng_的博客 809

Mybatis中sql的各种写法,项目中的。存储过程写法,创建索引写法

关键是扩大自己的视野,因为有的我真的不知道可以这样写? 比如: 一:if test --可以去掉多余的and <if test = "defaultQuery and sum == false"> AND (sysdate - T.CREATED) &lt; 90 </if> <if test = "limit30 and sum == false">...

little_dream2018的博客 4126

存储过程写法

Java代码 1.   create or replace procedure GetRecords(name_out out varchar2,age_in in varchar2) as     2.   begin     3.     select NAME into name_out from test where AGE = age_in;     4.   end; ...

活出我的精彩 4085

存储过程规范写法

--1.判断存储过程是否存在,存在则删除IF OBJECT_ID('存储过程名称', 'P') IS NOT NULL DROP PROCEDURE dbo.usp_GetMeasureAnalysisIssueReminder_Query(存储过程名) GO--2.这些是 SQL-92 设置语句,使 SQLServer2000/2005 遵从 SQL-92 规则。可不写 S...

weixin_30352645的博客 1445

SQL SERVER 带输入变量、输出变量多条件拼接查询

SQL SERVER 带输入变量、输出变量多条件拼接查询

A185822153的专栏 2240
上一篇: linq left join
下一篇: 多条件查询的存储过程的写法
pmandy
博客等级 码龄18年 13粉丝 155原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值