Your second sql query is crushing, because the first one does not return anything. Forget about macro rules. You have 2 fields and you want to one field show values based on another field, you have 2 columns role and user, here how you do it:
First column is called role you put
select 0,'please select role'
union
select distinct roleid, RoleDisplayName from View_CMS_UserRole_Joined
and set Has depending fields: yes
second column is called user, you put
select 0, 'please select user'
union
SELECT userid, UserName FROM View_CMS_UserRole_Joined where roleid = {%role%}
and Depends on another field: yes