SQL校验优化

 

我的思路只能查当前的:

----校验此行订单是否已导入,若已导入则提示订单号并Return

--        IF EXISTS (SELECT 1 FROM DOC_Order_Header b LEFT JOIN @tblData a

--                         ON

--                         a.ConsigneeID = b.ConsigneeID

--                         AND a.ConsigneeID = b.ConsigneeID

--                               AND a.SOReference1 = b.SOReference1

--                               AND a.H_EDI_01 = b.H_EDI_01

--                               AND a.OrderTime = b.OrderTime

--                               AND a.H_EDI_02 = b.H_EDI_02

--                               AND a.HeaderNotes = b.Notes

--                               WHERE b.CustomerID = 'KKKL'

--                         )

--        BEGIN

--        SET @Msg = @Msg + '订单号:' +  @sSOReference1 + '已存在,请检查数据!'

--        RETURN -1                

--        END

优化思路:

 

--校验客户是否存在,返回所有不存在的客户编号:        

  SET @sConsigneeID = NULL

  SELECT @sConsigneeID = ISNULL(@sConsigneeID + ',', '') + ConsigneeID

  FROM (

    SELECT DISTINCT a.ConsigneeID AS ConsigneeID

    FROM @tblAllData a

      LEFT JOIN BAS_Customer co ON a.ConsigneeID = co.CustomerID AND co.Customer_Type = 'CO'

    WHERE

      co.CustomerID IS NULL ) a

  IF @sConsigneeID <> ''

    SET @Msg = @Msg + '客户档案不存在:' + @sConsigneeID

   

  --校验订单是否存在,返回所有已存在的订单号

    SET @sSOReference1 = NULL

  SELECT @sSOReference1 = ISNULL(@sSOReference1 + ',', '') + SOReference1

  FROM (

    SELECT DISTINCT a.SOReference1 AS SOReference1

    FROM @tblAllData a

      LEFT JOIN DOC_Order_Header oh ON a.SOReference1 = oh.SOReference1 AND oh.CustomerID = 'KKKL'

    WHERE

      oh.SOReference1 IS NOT NULL ) a

  IF @sSOReference1 <> ''

    SET @Msg = @Msg + '订单已存在:' + @sSOReference1

Ps 创建临时表  CREATE TABLE #TEMP 加两个##表示系统级别的临时表

转载于:https://www.cnblogs.com/Nagisa-Saku/p/5706508.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/395527.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nat64 dns64 linux 内核支持,搭建NAT64/DNS6实现IPv4/v6转换

NAT64采用tayga实现&#xff0c;DNS64采用bind9.8实现。1 平台搭建平台为ubuntu12.04 Desktop版本。正常安装即可。2 NAT64(tayga)2.1 安装在终端模式下输入sudo apt-get install tayga2.2 配置2.2.1 相关设置sudo gedit /etc/tayga.conf按照说明配置&#xff0c;目前实现方案不…

React学习笔记(持续更新)

2.2页面加载过程 1.资源加载过程&#xff1a;URL->DNS查询->资源请求->浏览器解析 ①URL结构&#xff1a;http://www.hhh.com:80/getdata?pid1#title[协议://域名&#xff1a;端口/路径?参数#哈希] ②DNS查询&#xff1a;浏览器<--&#xff08;ip&#xff09;&am…

2年工作经验进 初创公司_沟通是关键:通过两家初创公司获得的成长经验教训+找工作...

2年工作经验进 初创公司by Niki Agrawal通过尼基阿格劳瓦尔(Niki Agrawal) 沟通是关键&#xff1a;通过两家初创公司获得的成长经验教训找工作 (Communication is key: growth lessons learned through two startups a job hunt) It’s been a crazy two years. I founded tw…

Hibernate问题浅析

1、什么是SessionFactory&#xff1f;什么是Session&#xff1f;httpsession和hibernate的session的有什么区别&#xff1f;SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理&#xff0c;并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactor…

Oracle中SQL语句学习五(统计分组语句group by和having)

oracle&#xff08;41&#xff09; 在 应用系统开发中&#xff0c;进行需要统计数据库中的数据&#xff0c;当执行数据统计时&#xff0c;需要将表中的数据进行分组显示&#xff0c;在统计分组中是通过group by子句、分组函数、having子句共同实现的。其中group by子句用于指定…

linux系统去吧,要开始另一个linux操作系统的尝试了,说说我以前的ubuntu吧

我想&#xff0c;除了尝试一下ubuntu的神奇魅力的同时&#xff0c;我应该去体验一下RedHat的神奇吧&#xff01;马上就要告别ubuntu了&#xff0c;我想把我的部分使用经历和大家分享分享&#xff01;首先&#xff0c;无论是ubuntu8.04、10.04还是10.1的效果都是很好的&#xff…

课程编码查询_付出还是不付出:生活中最好的事情(例如编码课程)是否免费?...

课程编码查询by Rick West由里克韦斯特(Rick West) 付出还是不付出&#xff1a;生活中最好的事情(例如编码课程)是否免费&#xff1f; (To pay or not to pay: are the best things in life — like coding courses — free?) Recently, I’ve been working on a project tha…

做开发十年,我总结出了这些开发经验

本文由云社区发表,原文转载地址:https://www.cnblogs.com/qcloud1001/p/10218876.html 在一线做了十年的开发&#xff0c;经历了网易、百度、腾讯研究院、MIG 等几个地方&#xff0c;陆续做过 3D 游戏、2D 页游、浏览器、移动端翻译 app 等。 积累了一些感悟。必然有依然幼稚的…

2016年4月 TIOBE 编程语言排行榜

4月头条: Visual Basic 正在渐行渐远 COBOL, BASIC 和 FORTRAN 很长一段时间作为主力开发语言被使用。有很多软件使用这些语言来编写&#xff0c;并且发展的不亦乐乎。然而经过多年的发展&#xff0c;COBOL和FORTRAN逐渐被抛弃&#xff0c;而得益于微软的存在&#xff0c;BASIC…

linux系统不知道电脑密码怎么办,Linux如何修复系统的Root密码 -电脑资料

如果因为忘了root口令导致无法登录系统&#xff0c;请试用下面的方法来改忘记的root口令&#xff1a;方法一&#xff1a;1、重新启动系统&#xff0c;2、把光标定位在该选项上按下字母“e”键进入这个引导的编辑状态&#xff1b;3、该选项有三行语句&#xff0c;请用光标选中第…

控制语句(4)

第4章 控制语句if<条件1>&#xff1a; <语句1>elif<条件2>: <语句2>elif<条件3>&#xff1a; <语句3>......else: <语句n>说明&#xff1a;elif语句&#xff0c;只要有一个条件成立&#xff0c;就会将其后的一个部分语句执行…

02 socketserver客户端

import socket client socket.socket() client.connect((127.0.0.1,8001))while 1:msg input(客户端说>>>)client.send(msg.encode(utf-8))from_server_msg client.recv(1024)print(from_server_msg.decode(utf-8)) 转载于:https://www.cnblogs.com/work14/p/10235…

基于zbus的MySQL透明代理(100行)

项目地址 https://git.oschina.net/rushmore/zbus 我们上次讲到zbus网络通讯的核心API&#xff1a; Dispatcher -- 负责-NIO网络事件Selector引擎的管理&#xff0c;对Selector引擎负载均衡 IoAdaptor -- 网络事件的处理&#xff0c;服务器与客户端共用&#xff0c;负责读写&am…

linux添加jetdirect协议,Padavan 路由器固件 不能驱动 hp1005、hp1020之类打印机 foo2zjs ZjStream协议的linux打印机驱动程序...

单击链接&#xff0c;或剪切并粘贴下面的整个命令行以下载驱动程序。现在解压缩它&#xff1a;Unpack:$ tar zxf foo2zjs.tar.gz$ cd foo2zjs现在编译并安装它。 INSTALL文件包含更详细的说明; 请现在阅读。Compile:$ makeGet extra files from the web, such as .ICM profiles…

返回指定月份的周列表 包含 周序号、开始日期、结束日期(不包含周末)

/*** 返回当前年月的周列表 包含 周序号、开始日期、结束日期(不包含周末)* param year 年* param month 月* returns {Array} */function getYearMonthWeekList(year,month) {var weekList[];var time year "/" month "/01";//取当前月的第…

tez-site.xml_数字支付系统的未来-Google Tez和音频快速响应

tez-site.xmlby Vaidic Joshi通过Vaidic Joshi 数字支付系统的未来-Google Tez和音频快速响应 (The future of digital payment systems — Google Tez and Audio Quick Response) Google recently marked its entry into the Indian digital payments market by introducing …

Window上安装kafka

kafka在windows上的安装、运行 - 进阶者ryan-su - CSDN博客https://blog.csdn.net/u010283894/article/details/77106159 在Windows环境中安装并使用kafka - 心灵空谷幽兰 - 博客园https://www.cnblogs.com/xinlingyoulan/p/6054361.html?utm_sourceitdadao&utm_mediumref…

数集合有多少个TOJ(2469)

题目链接&#xff1a;http://acm.tju.edu.cn/toj/showp2469.html 感觉这个题目有点问题&#xff0c;算了不管他了&#xff0c;反正A了。 这里要注意的是求这个集合有多少种&#xff0c;那么就是要剔除重复数后&#xff0c;再数一下有多少个。 难一点的算法我也不会&#xff0c;…

linux path环境变量起什么作用,shell基础(5)PATH环境变量的作用和使用方法

释放双眼&#xff0c;带上耳机&#xff0c;听听看~&#xff01;关于PATH的作用PATH说简单点就是一个字符串变量&#xff0c;当输入命令的时候LINUX会去查找PATH里面记录的路径。比如在根目录/下可以输入命令ls,在/usr目录下也可以输入ls,但其实ls这个命令根本不在这个两个目录下…

天气城市编码对应地区编码_如何在您的城市中建立强大的编码社区-我是如何做到的...

天气城市编码对应地区编码by Billy Le比利勒(Billy Le) 如何在您的城市中建立强大的编码社区-我是如何做到的 (How you can build a strong coding community in your city — and how I did it) Communities are important. They are the bedrock that glues together shared…