今天在業務中,需要對sql ,進行修改,之前的sql 是跑在Oracle中,現在跑在MySQL上
1. 在Oracle中sql 語句如下
SELECT UUID, SUBSTR(XS,2,length(XS)) as ZTC, MC,XSPY,PARENTID FROM OA_ZTC where (xs like '%工業%' or XSPY like '%工業%') START WITH UUID IN (SELECT UUID FROM OA_ZTC WHERE PARENTID ='1' )CONNECT BY PRIOR uuid = PARENTID
2 . 在MySQL中爲了實現同樣的功能
with RECURSIVE cte as (
SELECT UUID, SUBSTR(XS,2,length(XS)) as ZTC, MC,XSPY,PARENTID FROM OA_ZTC where xs like '%工業%' or xspy like '%工業%' and UUID IN (SELECT UUID FROM OA_ZTC WHERE PARENTID ='1')
union all
SELECT a.UUID, SUBSTR(a.XS,2,length(a.XS)) as ZTC, a.MC,a.XSPY,a.PARENTID FROM OA_ZTC a,cte c where c.uuid = a.PARENTID
) select UUID,ZTC, MC,XSPY,PARENTID from cte