一个很变态的SQL
Posted AmourOnce
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个很变态的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
嘻嘻
以上是关于一个很变态的SQL的主要内容,如果未能解决你的问题,请参考以下文章
6个变态的C语言Hello World程序 之 雷人的程序语言