v_user_view

zhangsharp20發表於2016-06-05


CREATE VIEW v_user_view
as
(
SELECT 
uu_uugr_ug_uo_ugrr_ur.id,uu_uugr_ug_uo_ugrr_ur.groupid,uu_uugr_ug_uo_ugrr_ur.groupname,uu_uugr_ug_uo_ugrr_ur.identifier,uu_uugr_ug_uo_ugrr_ur.username,uu_uugr_ug_uo_ugrr_ur.account,uu_uugr_ug_uo_ugrr_ur.password,uu_uugr_ug_uo_ugrr_ur.position,uu_uugr_ug_uo_ugrr_ur.birthday,uu_uugr_ug_uo_ugrr_ur.identitycard,uu_uugr_ug_uo_ugrr_ur.sex,uu_uugr_ug_uo_ugrr_ur.province,uu_uugr_ug_uo_ugrr_ur.city,uu_uugr_ug_uo_ugrr_ur.prefecture,uu_uugr_ug_uo_ugrr_ur.orgid,uu_uugr_ug_uo_ugrr_ur.email,uu_uugr_ug_uo_ugrr_ur.mobile,uu_uugr_ug_uo_ugrr_ur.phone,uu_uugr_ug_uo_ugrr_ur.state,uu_uugr_ug_uo_ugrr_ur.isactivate,uu_uugr_ug_uo_ugrr_ur.isdelegate,uu_uugr_ug_uo_ugrr_ur.remark,uu_uugr_ug_uo_ugrr_ur.updatetime,uu_uugr_ug_uo_ugrr_ur.department,uu_uugr_ug_uo_ugrr_ur.bussion,uu_uugr_ug_uo_ugrr_ur.p_userid,uu_uugr_ug_uo_ugrr_ur.p_username,uu_uugr_ug_uo_ugrr_ur.orgno,uu_uugr_ug_uo_ugrr_ur.orgname,wm_concat(uu_uugr_ug_uo_ugrr_ur.rolename) rolename_all,wm_concat(ugrr_uror_uugr_uo_um_uomr.opway_all) opway_all
FROM 
(
SELECT 
uu_uugr_ug_uo.*,uugr_ugrr_ur.rolename
FROM 
(
SELECT 
uu_uugr_ug_b.id,uu_uugr_ug_b.groupid,uu_uugr_ug_b.groupname,uu_uugr_ug_b.identifier,uu_uugr_ug_b.username,uu_uugr_ug_b.account,uu_uugr_ug_b.password,uu_uugr_ug_b.position,uu_uugr_ug_b.birthday,uu_uugr_ug_b.identitycard,uu_uugr_ug_b.sex,uu_uugr_ug_b.province,uu_uugr_ug_b.city,uu_uugr_ug_b.prefecture,uu_uugr_ug_b.orgid,uu_uugr_ug_b.email,uu_uugr_ug_b.mobile,uu_uugr_ug_b.phone,uu_uugr_ug_b.state,uu_uugr_ug_b.isactivate,uu_uugr_ug_b.isdelegate,uu_uugr_ug_b.remark,uu_uugr_ug_b.updatetime,uu_uugr_ug_b.department,uu_uugr_ug_b.bussion,uu_uugr_ug_b.p_userid,uu_uugr_ug_b.p_username,uo.orgno,uo.orgname
FROM
(
--GID,GNAME,P_USERID,P_USERNAME
SELECT 
uu.id,uu_uugr_ug_a.groupid,uu_uugr_ug_a.groupname,uu.identifier,uu.username,uu.account,uu.password,uu.position,uu.birthday,uu.identitycard,uu.sex,uu.province,uu.city,uu.prefecture,uu.orgid,uu.email,uu.mobile,uu.phone,uu.state,uu.isactivate,uu.isdelegate,uu.remark,uu.updatetime,uu.department,uu.bussion,uu_uugr_ug_a.p_userid,uu_uugr_ug_a.p_username
FROM 
uc_userinfo uu
LEFT OUTER JOIN
(
SELECT 
uugr_ug_ab.userid,uugr_ug_ab.groupid,uugr_ug_ab.groupname,uugr_ug_ab.p_userid,uu.username p_username
FROM 
uc_userinfo uu,
(
SELECT 
uugr_ug_a.*,uugr_ug_b.userid p_userid
FROM 
(SELECT uugr.userid,uugr.groupid,ug.groupname,ug.parentid FROM uc_userinfo_group_ref uugr,uc_group ug WHERE uugr.groupid=ug.id) uugr_ug_a,
(SELECT uugr.userid,ug.parentid FROM uc_userinfo_group_ref uugr,(SELECT DISTINCT parentid FROM uc_group) ug WHERE uugr.groupid=ug.parentid) uugr_ug_b
WHERE uugr_ug_a.parentid=uugr_ug_b.parentid
) uugr_ug_ab
WHERE uu.id=uugr_ug_ab.p_userid
) uu_uugr_ug_a
ON uu.id=uu_uugr_ug_a.userid
--
) uu_uugr_ug_b
--uid,orgno,orgname
LEFT OUTER JOIN
uc_org uo
ON uu_uugr_ug_b.orgid=uo.id
) uu_uugr_ug_uo
LEFT OUTER JOIN
--uid,rolename 
(SELECT uugr.userid,ur.rolename FROM uc_userinfo_group_ref uugr,uc_group_role_ref ugrr,uc_role ur WHERE uugr.groupid=ugrr.groupid and ugrr.roleid=ur.id) uugr_ugrr_ur
ON uu_uugr_ug_uo.id=uugr_ugrr_ur.userid
) uu_uugr_ug_uo_ugrr_ur
LEFT OUTER JOIN
--uid,opway,modelname
(
SELECT distinct
ugrr_uror_uugr.userid,uo_um_uomr.opway||':'||uo_um_uomr.modelname opway_all
FROM 
--userid,omid
(SELECT uugr.userid,uror.omid FROM uc_group_role_ref ugrr,uc_role_operate_ref uror,uc_userinfo_group_ref uugr where ugrr.roleid=uror.roleid and ugrr.groupid=uugr.groupid) ugrr_uror_uugr,
--omid,modelname
(SELECT um.id,uo.opway,um.modelname FROM uc_operate uo,uc_model um,uc_operate_model_ref uomr WHERE uo.id=uomr.opid and um.id=uomr.modelid) uo_um_uomr
WHERE ugrr_uror_uugr.omid=uo_um_uomr.id 
) ugrr_uror_uugr_uo_um_uomr
ON uu_uugr_ug_uo_ugrr_ur.id=ugrr_uror_uugr_uo_um_uomr.userid
GROUP BY 
uu_uugr_ug_uo_ugrr_ur.id,uu_uugr_ug_uo_ugrr_ur.groupid,uu_uugr_ug_uo_ugrr_ur.groupname,uu_uugr_ug_uo_ugrr_ur.identifier,uu_uugr_ug_uo_ugrr_ur.username,uu_uugr_ug_uo_ugrr_ur.account,uu_uugr_ug_uo_ugrr_ur.password,uu_uugr_ug_uo_ugrr_ur.position,uu_uugr_ug_uo_ugrr_ur.birthday,uu_uugr_ug_uo_ugrr_ur.identitycard,uu_uugr_ug_uo_ugrr_ur.sex,uu_uugr_ug_uo_ugrr_ur.province,uu_uugr_ug_uo_ugrr_ur.city,uu_uugr_ug_uo_ugrr_ur.prefecture,uu_uugr_ug_uo_ugrr_ur.orgid,uu_uugr_ug_uo_ugrr_ur.email,uu_uugr_ug_uo_ugrr_ur.mobile,uu_uugr_ug_uo_ugrr_ur.phone,uu_uugr_ug_uo_ugrr_ur.state,uu_uugr_ug_uo_ugrr_ur.isactivate,uu_uugr_ug_uo_ugrr_ur.isdelegate,uu_uugr_ug_uo_ugrr_ur.remark,uu_uugr_ug_uo_ugrr_ur.updatetime,uu_uugr_ug_uo_ugrr_ur.department,uu_uugr_ug_uo_ugrr_ur.bussion,uu_uugr_ug_uo_ugrr_ur.p_userid,uu_uugr_ug_uo_ugrr_ur.p_username,uu_uugr_ug_uo_ugrr_ur.orgno,uu_uugr_ug_uo_ugrr_ur.orgname
)










來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29802484/viewspace-2114496/,如需轉載,請註明出處,否則將追究法律責任。