|
WITH T AS
(SELECT '张三' ID, 1600 VL
FROM DUAL
UNION ALL
SELECT '李四' ID, 3201 VL FROM DUAL)
SELECT ID,
VL,
LEVEL,
MOD(800 + CONNECT_BY_ISLEAF * VL, CONNECT_BY_ISLEAF * 800)rel
FROM T WHERE MOD(800 + CONNECT_BY_ISLEAF * VL, CONNECT_BY_ISLEAF * 800) <>0
CONNECT BY ID = PRIOR ID
AND LEVEL <= (VL) / 800+1
AND PRIOR SYS_GUID() IS NOT NULL |
|