查询用户有哪些薪资方案权限SQL
1、当薪资方案不存在多次发放的时,可以直接使用以下语句进行当前登录用户有权限的薪资方案查询:
select
distinct
wa_clspower.classid as wa_clspower_classid,
wa_waclass.name as wa_waclass_name,
wa_waclass.pk_group as pk_group,
wa_waclass.pk_org as pk_org
from wa_clspower
LEFT OUTER JOIN wa_waclass on wa_waclass.pk_wa_class=wa_clspower.classid
where
(wa_clspower.pk_subject in ( select pk_role from sm_user_role where cuserid = '100111100000000YA43O' ) and subject_type = 0 )
or wa_clspower.pk_subject = '100111100000000YA43O' --100111100000000YA43O 用户PK
查询结果如下:
2、如果有薪资存在多次发放,且需要限制查询已经审核过的数据。注意限制是否审核字段的时候正常的方案wa_data.checkflag ='Y',但多次发放的汇总方案是否审核这个字段为N。这个时候wa_data.checkflag ='Y'可以这样写:
and (wa_data.checkflag ='Y' or concat(wa_data.cyear,wa_data.CPERIOD) in (select DISTINCT concat(CYEAR,CPERIOD) nianYue from WA_WACLASS where code like '%times%'))
and wa_data.PK_WA_CLASS in(当前登录用户有权限的薪资方案)