ITPub博客

首页 > 数据库 > Oracle > 一条SQL的改写

一条SQL的改写

原创 Oracle 作者:flzhang 时间:2016-05-22 15:41:23 0 删除 编辑

最近需求中需要实现这样一个功能

找主活动是未锁定的,且已确认的子活动数据,表中数据的分布是这样的

表中数据存放结构
                主活动1   没锁定
                子活动 主11  已确认
                子活动 主22  已确认
                主活动2    锁定
                子活动 主21  未确认
                子活动 主22  已确认

            1用 NOT EXIST实现

                SELECT T1.ATTR01, T1.ATTR04, T1.MEM_NM
                FROM CHNQLTOWN.3pl T1
                WHERE T1.确认否=TO_CHAR(TRUNC(SYSDATE-1),'YYYYMMDD')
                AND  NOT EXISTS(SELECT 1 FROM 3PL T2 WHERE T2.STAGE IN ('INIT','OVER')

                AND  T1.WEC_OPN_ID=T2.WEC_OPN_ID AND T1.MEM_ID=T1.MEM_ID AND T2.锁定否='Y')

            2 用关联查询
                
                SELECT T1.ATTR01, T1.ATTR04, T1.MEM_NM
                FROM  CHNQLTOWN.3pl T1
                    , CHNQLTOWN.3pl T2
                WHERE T1.WEC_OPN_ID=T2.WEC_OPN_ID AND T1.MEM_ID=T2.MEM_ID
                AND T2.STAGE IN ('INIT','OVER') AND T2.锁定否= 'N'
                AND T1.确认否=TO_CHAR(TRUNC(SYSDATE-1),'YYYYMMDD')

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/750077/viewspace-2104810/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: http通信类的封装
请登录后发表评论 登录
全部评论

注册时间:2014-03-26

  • 博文量
    97
  • 访问量
    773866