17,136
社区成员
发帖
与我相关
我的任务
分享WITH tmp AS
( SELECT rownum rn FROM all_objects WHERE rownum<=9
)
SELECT a.rn,
SUBSTR(MAX( sys_connect_by_path(
CASE
WHEN a.rn*b.rn>=10
THEN SUBSTR(TRANSLATE(b.rn
||a.rn
||a.rn*b.rn,'1234567890','一二三四五六七八九十'),1,
CASE
WHEN mod(a.rn*b.rn,10)=0
OR a.rn *b.rn >20
THEN 3
ELSE 2
END)
||'十'
|| TRANSLATE(mod(a.rn*b.rn,10),'1234567890','一二三四五六七八九')
ELSE TRANSLATE(b.rn
||a.rn
||'='
||a.rn*b.rn,'123456789=','一二三四五六七八九得')
END ,',')),2) 口诀
FROM tmp A,
tmp b
WHERE a.rn >=b.rn
CONNECT BY prior a.rn=a.rn
AND prior b.rn =b.rn-1
START WITH b.rn =1
GROUP BY A.rn
ORDER BY 1;
等待更新



一级菜单的id为00,表A中包含字段menuid(当前菜单id),menuname(当前菜单名称),parentid(父菜单id),列出一级菜单下所有递归菜单id和名称
select sys_connect_by_path(t.menuid||'('||t.menuname||')', '>') "Path"
from A t
start with t.parentid = '00'
connect by prior t.menuid = t.parentid