• 一个很变态的SQL


    select max(s.operat_time) as pzTime
      from ws_state_record s
     where s.status = (select p1.node_id
                         from WS_PROCESS p1
                        where p1.role_id =
                              (select max(p2.role_id)
                                 from WS_PROCESS p2
                                where p2.node_id in (10001,10002)))//业务表流程足迹
       and s.operat_orgtype = 'review'
    
    
    //------------------------测试01 --------------------------------
    select  t.id,
            substr(t.team_id, 2, 4) as a,
           substr(t.team_id, 7, 4) as b,
           d.name as team_type_text,
           t.throughnodes,
           (select max(s.operat_time) as pzTime
      from ws_state_record s
     where s.status =
           (select p1.node_id
              from WS_PROCESS p1
             where p1.role_id =
                   (select max(p2.role_id)
                      from WS_PROCESS p2
                     where p2.node_id in (t.throughnodes))) and s.bizdata_id = t.id
       and s.operat_orgtype = 'review') as pz_time
       
      from WS_TEAM_INFORMATION t
      left join DICT d
        on t.team_type = d.code
    
    
    ---------------------------------------------------------
    select max(s.operat_time) as pzTime
      from ws_state_record s
     where s.status =
           (select p1.node_id
              from WS_PROCESS p1
             where p1.role_id =
                   (select max(p2.role_id)
                      from WS_PROCESS p2
                     where p2.node_id in ( SELECT SUBSTR(throughnodes,0,INSTR(throughnodes,',')-1) FROM ws_team_information
      UNION
      SELECT SUBSTR(throughnodes,INSTR(throughnodes,',',1,ROWNUM)+1,5)
      FROM ws_team_information
      CONNECT BY ROWNUM<=LENGTH(throughnodes)-LENGTH(REPLACE(throughnodes,',',''))))) 
       and s.operat_orgtype = 'review'
    
    -----------------------------------------最终版---------------------------------------------
    select m1.id, m2.pzTime
      from (select t.id,
                   substr(t.team_id, 2, 4) as a,
                   substr(t.team_id, 7, 4) as b,
                   t.throughnodes,
                   d.name as team_type_text
              from WS_TEAM_INFORMATION t
              left join DICT d
                on t.team_type = d.code) m1
      left join
    
     (select s.bizdata_id, max(s.operat_time) as pzTime
        from ws_state_record s
       where s.status =
             (select p1.node_id
                from WS_PROCESS p1
               where p1.role_id =
                     (select max(p2.role_id)
                        from WS_PROCESS p2
                       where p2.node_id in
                             (SELECT SUBSTR(throughnodes,
                                            0,
                                            INSTR(throughnodes, ',') - 1)
                                FROM ws_team_information
                              UNION
                              SELECT SUBSTR(throughnodes,
                                            INSTR(throughnodes, ',', 1, ROWNUM) + 1,
                                            5)
                                FROM ws_team_information
                              CONNECT BY ROWNUM <=
                                         LENGTH(throughnodes) -
                                         LENGTH(REPLACE(throughnodes, ',', '')))))
         and s.operat_orgtype = 'review'
       group by s.bizdata_id) m2
        on m1.id = m2.bizdata_id
    View Code

    嘻嘻

    part2.

    SELECT T1.A ,T1.B,T2.C
    FROM T1,T2
    WHERE T1.A = T2.A
    UNION
    (
    SELECT T1.A,T1.B,'' FROM T1
    MINUS 
    SELECT T2.A,T2.C,'' FROM T2
    )
    UNION
    (
    SELECT T2.A,'',T2.C FROM T2
    MINUS 
    SELECT T1.A,'',T1.B FROM T1
    )
    View Code

     part3.

    关于对表数据的查重SQL

    select a,count(a) from tablename order by a having count(a)>1

    SELECT 字段名, COUNT(*) AS Expr1
    FROM 表名
    GROUP BY 字段名

    HAVING COUNT(*) >1

  • 相关阅读:
    Java多线程之线程安全队列Queue与同步容器
    Java的四种引用方式
    java编程使用freemarker导出word问题
    Hive 报错:java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient
    windows10上Eclipse运行MapReduce wordcount程序遇到的坑
    HDFS中namenode启动失败
    【将文件中字符串赋值到 ArrayList 中】
    【把 ArrayList 集合中的字符串内容写到文本文件中】
    【复制文本:按行复制文件】
    【复制文本:字符缓冲流】
  • 原文地址:https://www.cnblogs.com/chuanqiMa/p/6956329.html
Copyright © 2020-2023  润新知