热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于在MSSQL中求差集的视图EXCEPTMINUSNOTEXITS

ORACLE语句Codecreateorreplaceviewqua.view_lose_check_request_cutasselectm.wo,m.lot,m.mat_id,
ORACLE语句
ContractedBlock.gifExpandedBlockStart.gifCode
create or replace view qua.view_lose_check_request_cut as
select m.wo,m.lot ,m.mat_id,m.routing_id,m.tech_id,m.start_time,n.proc_id from
(
select a.wo wo ,a.lot lot ,b.id mat_id,c.id routing_id,a.tech_id tech_id,start_time  from dps.wo_trace a,pub.mat b,pub.routing c
--where wo_grp_id  in (2,3,4) and b.ctrl=a.mat_id and c.ctrl=a.routing_id
where wo_grp_id  in (2,3,4and b.cd =a.mat_id and c.ctrl=a.routing_id
) m
,
(
--¼ìÑ鹤Ðò
select distinct td.mat_id,td.routing_id,td.tech_id,td.proc_id   from spc.standred_info2 td,pub.proc p
where p.is_check=1 and p.id=td.proc_id
) n
where m.mat_id=n.mat_id and m.routing_id=n.routing_id and m.tech_id=n.tech_id and (m.wo,m.lot)
in
(
select hh.wo,hh.lot from
(
select wo,lot from dps.wo_trace
minus
select wo_id,lot_id   from qua.check_request
) hh
)




转成MSSQL后
ContractedBlock.gifExpandedBlockStart.gifCode
SELECT     m.wo, m.lot, m.mat_id, m.routing_id, m.tech_id, m.START_TIME, n.PROC_ID
FROM         (SELECT     a.WO AS wo, a.LOT AS lot, b.ID AS mat_id, c.ID AS routing_id, a.TECH_ID AS tech_id, a.START_TIME
                       
FROM          dps.WO_TRACE AS a INNER JOIN
                                              pub.MAT 
AS b ON a.MAT_ID = b.CD INNER JOIN
                                              pub.ROUTING 
AS c ON a.ROUTING_ID = c.CTRL
                       
WHERE      (a.WO_GRP_ID IN (234))) AS m INNER JOIN
                          (
SELECT DISTINCT td.MAT_ID, td.ROUTING_ID, td.TECH_ID, td.PROC_ID
                            
FROM          spc.STANDRED_INFO2 AS td INNER JOIN
                                                   pub.
[PROC] AS p ON td.PROC_ID = p.ID
                            
WHERE      (p.IS_CHECK = 1)) AS n ON m.mat_id = n.MAT_ID AND m.routing_id = n.ROUTING_ID AND m.tech_id = n.TECH_ID
WHERE     EXISTS
                          (
SELECT     WO, LOT
                            
FROM          (SELECT     WO, LOT
                                                    
FROM          dps.WO_TRACE AS s
                                                    
WHERE      (NOT EXISTS
                                                                               (
SELECT     REQUEST_ID, WO_ID, LOT_ID, MAT_ID, PROC_ID, REQUEST_TYPE_ID, REQUEST_STATE, START_TIME, 
                                                                                                        END_TIME, SAMPLE_PLACE_CODE, SAMPLE_PLACE_NAME, SHIFT_ID, MAT_TYPE, ROUTING_ID, TECH_ID, 
                                                                                                        WO_ID2
                                                                                 
FROM          qua.CHECK_REQUEST AS b
                                                                                 
WHERE      (WO_ID = s.WO) AND (LOT_ID = s.LOT)))) AS hh
                            
WHERE      (m.wo = WO) AND (m.lot = LOT))

转:https://www.cnblogs.com/doc/archive/2008/12/19/1358243.html



推荐阅读
  • MySQL索引详解与优化
    本文深入探讨了MySQL中的索引机制,包括索引的基本概念、优势与劣势、分类及其实现原理,并详细介绍了索引的使用场景和优化技巧。通过具体示例,帮助读者更好地理解和应用索引以提升数据库性能。 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 本文探讨了在Oracle数据库中,动态SQL语句的执行及其对事务管理的影响,特别是关于回滚操作的有效性。重点讨论了一个具体场景:将预警短信从当前表迁移到历史表时遇到的字段长度不匹配问题及相应的异常处理。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 探讨如何从数据库中按分组获取最大N条记录的方法,并分享新年祝福。本文提供多种解决方案,适用于不同数据库系统,如MySQL、Oracle等。 ... [详细]
  • 在Oracle数据库中,使用Dbms_Output.Put_Line进行输出调试时,若单行字符超过255个,则会遇到ORA-20000错误。本文介绍了一种有效的方法来处理这种情况,通过创建自定义包和视图,实现对长字符串的分割和正确输出。 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • 本文介绍如何通过创建替代插入触发器,使对视图的插入操作能够正确更新相关的基本表。涉及的表包括:飞机(Aircraft)、员工(Employee)和认证(Certification)。 ... [详细]
  • 本文详细探讨了JDBC(Java数据库连接)的内部机制,重点分析其作为服务提供者接口(SPI)框架的应用。通过类图和代码示例,展示了JDBC如何注册驱动程序、建立数据库连接以及执行SQL查询的过程。 ... [详细]
  • 本文探讨了领域驱动设计(DDD)的核心概念、应用场景及其实现方式,详细介绍了其在企业级软件开发中的优势和挑战。通过对比事务脚本与领域模型,展示了DDD如何提升系统的可维护性和扩展性。 ... [详细]
  • 使用Pandas高效读取SQL脚本中的数据
    本文详细介绍了如何利用Pandas直接读取和解析SQL脚本,提供了一种高效的数据处理方法。该方法适用于各种数据库导出的SQL脚本,并且能够显著提升数据导入的速度和效率。 ... [详细]
  • 本文介绍了如何在 Oracle 数据库中结合使用 UPDATE 和 SELECT 语句,以实现复杂的数据更新操作。首先准备测试环境和数据表,然后通过嵌套查询的方式从其他表中获取需要更新的值,最后执行更新操作并验证结果。 ... [详细]
  • 本文详细介绍了在 MySQL、SQL Server 和 Oracle 数据库中如何使用分组和排序功能。涵盖了聚集函数的应用、HAVING 子句的作用以及特定数据库中的独特方法,如 SQL Server 的 ROW_NUMBER() 函数和 Oracle 的相关特性。 ... [详细]
  • Python处理Word文档的高效技巧
    本文详细介绍了如何使用Python处理Word文档,涵盖从基础操作到高级功能的各种技巧。我们将探讨如何生成文档、定义样式、提取表格数据以及处理超链接和图片等内容。 ... [详细]
  • 本文介绍了一个SQL Server自定义函数,用于从字符串中提取仅包含数字和小数点的子串。该函数通过循环删除非数字字符来实现,并附带创建测试表、存储过程以演示其应用。 ... [详细]
author-avatar
林泳_钿
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有