17,089
社区成员
发帖
与我相关
我的任务
分享
SELECT distinct
x.moduleId,
x.authId,
x.authBeId,
x.authSource,
x.authBeName,
x.roleBeId,
x.roleBeName,
x.authDescription,
x.authName,
x.authType
FROM (SELECT distinct A.MODULE_ID as moduleId,
A.AUTH_ID as authId,
A.AUTH_BE_ID as authBeId,
A.AUTH_SOURCE as authSource,
A.AUTH_BE_NAME as authBeName,
A.ROLE_BE_ID as roleBeId,
A.ROLE_BE_NAME as roleBeName,
C.DESCRIPTION as authDescription,
C.AUTH_NAME as authName,
B.AUTH_TYPE as authType
FROM view_sys_role_auth A
JOIN SYS_AUTH B ON A.AUTH_ID = B.AUTH_ID
LEFT JOIN SYS_AUTH_LANG C ON A.AUTH_ID = C.AUTH_ID
<[ AND C.LOCALE = :locale ]>
WHERE 1 = 1
<[ AND A.ROLE_ID = :roleId ]>
<[ AND A.MODULE_ID = :moduleId ]>
<[ AND A.AUTH_SOURCE = :authSource ]>
UNION ALL
SELECT A.MODULE_ID as moduleId,
A.AUTH_ID as authId,
A.AUTH_BE_ID as authBeId,
A.AUTH_SOURCE as authSource,
A.AUTH_BE_NAME as authBeName,
A.ROLE_BE_ID as roleBeId,
A.ROLE_BE_NAME as roleBeName,
C.DESCRIPTION as authDescription,
C.AUTH_NAME as authName,
B.AUTH_TYPE as authType
FROM view_sys_role_auth A
JOIN SYS_AUTH B ON A.AUTH_ID = B.AUTH_ID
LEFT JOIN SYS_AUTH_LANG C ON A.AUTH_ID = C.AUTH_ID
<[ AND C.LOCALE = :locale ]>
WHERE 1 = 1
AND A.AUTH_SOURCE != 2
<[ AND A.ROLE_ID IN (SELECT PARENT_ROLE_ID
FROM SYS_ROLE_DERIVE
WHERE SON_ROLE_ID = :roleId) ]>
<[ AND A.MODULE_ID = :moduleId ]>
<[ AND A.AUTH_SOURCE = :authSource ]>
) X
ORDER BY X.MODULEID, X.AUTHSOURCE, X.AUTHID
请问把这段sql转db2 如何写呢。