/*
server:
db: EDI
*/
-- 以下案例多次查询同一张表,仅有组合条件Name+Direction不同
--可以使用一次查出相关类容避免长时间占用表
USE EDI
GO
DECLARE @OutBoundBusinessID_PO int
,@InboundBusinessID_ItemCatalog int
,@InboundBusinessID_Inventory int
,@InboundBusinessID_ShipNotice int
,@InboundBusinessID_FunctionAck int
,@OutboundBusinessID_FunctionAck int SELECT TOP 1
@OutBoundBusinessID_PO = ID
FROM dbo.EDI_CFG_Business WITH(NOLOCK)
WHERE
Name = 'PO'
AND Direction = 'O'
SELECT TOP 1
@InboundBusinessID_ItemCatalog = ID
FROM dbo.EDI_CFG_Business WITH(NOLOCK)
WHERE
Name = 'ItemCatalog'
AND Direction = 'I'
SELECT TOP 1
@InboundBusinessID_Inventory = ID
FROM dbo.EDI_CFG_Business WITH(NOLOCK)
WHERE
Name = 'Inventory'
AND Direction = 'I'
SELECT TOP 1
@InboundBusinessID_ShipNotice = ID
FROM dbo.EDI_CFG_Business WITH(NOLOCK)
WHERE
Name = 'ShipNotice'
AND Direction = 'I'
SELECT TOP 1
@InboundBusinessID_FunctionAck = ID
FROM dbo.EDI_CFG_Business WITH(NOLOCK)
WHERE
Name = 'FunctionAck'
AND Direction = 'I'
SELECT TOP 1
@OutboundBusinessID_FunctionAck = ID
FROM dbo.EDI_CFG_Business WITH(NOLOCK)
WHERE
Name = 'FunctionAck'
AND Direction = 'O'
select @OutBoundBusinessID_PO
,@InboundBusinessID_ItemCatalog
,@InboundBusinessID_Inventory
,@InboundBusinessID_ShipNotice
,@InboundBusinessID_FunctionAck
,@OutboundBusinessID_FunctionAck -----更改后
USE EDI
GO
DECLARE @OutBoundBusinessID_PO int
,@InboundBusinessID_ItemCatalog int
,@InboundBusinessID_Inventory int
,@InboundBusinessID_ShipNotice int
,@InboundBusinessID_FunctionAck int
,@OutboundBusinessID_FunctionAck int select @OutBoundBusinessID_PO=POO
,@InboundBusinessID_ItemCatalog=ItemCatalogI
,@InboundBusinessID_Inventory=InventoryI
,@InboundBusinessID_ShipNotice=ShipNoticeI
,@InboundBusinessID_FunctionAck=FunctionAckI
,@OutboundBusinessID_FunctionAck=FunctionAckO
--select POO,ItemCatalogI,InventoryI,ShipNoticeI,FunctionAckI,FunctionAckO
from
(
select ID,Name_Direction
from
(
select ID,Name+Direction as Name_Direction FROM dbo.EDI_CFG_Business WITH(NOLOCK)
where
Name in('PO','ItemCatalog','Inventory','ShipNotice','FunctionAck')
and Direction in('I','O')
) as T1
where Name_Direction in('POO','ItemCatalogI','InventoryI','ShipNoticeI','FunctionAckI','FunctionAckO')
) as T2
pivot
(
max(ID)
for
Name_Direction in([POO],[ItemCatalogI],[InventoryI],[ShipNoticeI],[FunctionAckI],[FunctionAckO]) ) as piv select @OutBoundBusinessID_PO
,@InboundBusinessID_ItemCatalog
,@InboundBusinessID_Inventory
,@InboundBusinessID_ShipNotice
,@InboundBusinessID_FunctionAck
,@OutboundBusinessID_FunctionAck

  

SQL一次查出相关类容避免长时间占用表(上)的更多相关文章

  1. SQL一次查出相关类容避免长时间占用表(下)

    /* server: db: EDI */ -- 以下案例多次查询同一张表,仅有Name条件不同 --可以使用一次查出相关类容避免长时间占用表 USE EDI GO DECLARE @FileType ...

  2. 在线数据库表(sql语句)生成java实体类工具

    相信每个做java开发的读者,都接触过SQL建表语句,尤其是在项目开发初期,因为数据库是项目的基石. 在现代项目开发中,出现了许多ORM框架,通过简单的实体映射,即可实现与数据库的交互,然而我们最初设 ...

  3. SQL Server数据库读取数据的DateReader类及其相关类

    之前学了几天的SQL Server,现在用C#代码连接数据库了. 需要使用C#代码连接数据库,读取数据. 涉及的类有: ConfigurationManage SqlConnection SqlCom ...

  4. Sql Server中的数据类型和Mysql中的数据类型的对应关系(转)

    Sql Server中的数据类型和Mysql中的数据类型的对应关系(转):https://blog.csdn.net/lilong329329/article/details/78899477 一.S ...

  5. 第三百零七节,Django框架,models.py模块,数据库操作——表类容的增删改查

    Django框架,models.py模块,数据库操作——表类容的增删改查 增加数据 create()方法,增加数据 save()方法,写入数据 第一种方式 表类名称(字段=值) 需要save()方法, ...

  6. 五 Django框架,models.py模块,数据库操作——表类容的增删改查

    Django框架,models.py模块,数据库操作——表类容的增删改查 增加数据 create()方法,增加数据 save()方法,写入数据 第一种方式 表类名称(字段=值) 需要save()方法, ...

  7. day15--Java常用类之日期相关类

    Java常用类 3.日期相关类 3.1Date类 在标准Java类库中包含一个Date类,它的对象表示一个特定的瞬间,精确到毫秒.在网上商城下单时,在对报销单进行审核时,都需要获取当前的时间,通过Da ...

  8. Android随笔之——Android时间、日期相关类和方法

    今天要讲的是Android里关于时间.日期相关类和方法.在Android中,跟时间.日期有关的类主要有Time.Calendar.Date三个类.而与日期格式化输出有关的DateFormat和Simp ...

  9. 21 BasicTaskScheduler基本任务调度器(一)——Live555源码阅读(一)任务调度相关类

    21_BasicTaskScheduler基本任务调度器(一)——Live555源码阅读(一)任务调度相关类 BasicTaskScheduler基本任务调度器 BasicTaskScheduler基 ...

随机推荐

  1. CodeForces 721B

    B. Passwords time limit per test:2 seconds memory limit per test:256 megabytes input:standard input ...

  2. ProjectManager Beta 2 项目管理器发布

    上次载Alpha阶段有一个可用版本Alpha 8也在这个博客发布了,传送:http://www.cnblogs.com/deali/p/ProjectManager.html ProjectManag ...

  3. [转载]【虚拟化系列】VMware vSphere 5.1 网络管理

    转载自:http://mabofeng.blog.51cto.com/2661587/1020375 网络是VMware vSphere 5.1的基础,所有虚拟机都需要网络来进行通信.如果将所有的虚拟 ...

  4. 如何增强ArcGIS插值图出图效果

    如何增强ArcGIS插值图出图效果 by 李远祥 在一些科研领域,经常会遇到使用插值的方式进行处理,并生成最终的插值图.插值图在ArcGIS里面非常容易生成,只要具备了采用点数据,通过ArcToolB ...

  5. git命令实战之血泪记录

    注意: 本文章所写所有命令均在Git命令行窗口执行!非cmd窗口! 打开git命令行窗口步骤为:到项目根目录下执行bash命令行操作:右键点击Git Bash Here菜单,打开git命令窗口,不是c ...

  6. java中的final与static

    许多程序设计语言都有自己的办法告诉编译器某个数据是"常数".常数主要应用于下述两个方面: (1) 编译期常数,它永远不会改变 (2) 在运行期初始化的一个值,我们不希望它发生变化 ...

  7. ICMP(网际控制报文协议)

    为了更有效的提高ip数据报的成功转发和交付的效率,在网际层使用了icmp网际控制报文协议,这个协议允许主机和路由器提供差错和异常情况的报告,icmp不是高层协议,而是网际层的协议,加在ip数据报中一起 ...

  8. php常见面试问题

    1. 如果没有开启cookies,session如何工作? PHP中的sessions通常会使用cookies的方法.但是如果没有cookies(浏览器禁用cookies),PHP sessions也 ...

  9. Python 接口测试(一)

    @font-face { font-family: "Times"; }@font-face { font-family: "宋体"; }@font-face ...

  10. jQuery源码学习:Sizzle

    本文所有讨论均基于jQuery版本3.1.1,官网http://jquery.com/. 一 简介 Sizzle是用javascript实现的CSS selector engine,官网见https: ...