Skip to main content
I am trying this query  but getting syntax error:

SELECT Id, IsActive,(Select Id from GroupMembers),

                        (Select Id from PermissionSetAssignments) 

                                                  FROM User

                                          WHERE Isactive=true

What is the relationship name used for permissionsets and groupmembers?

 
1 个回答
  1. 2016年3月24日 14:57
    Hi Kabu,

    GroupMember object has no lookup to the User object, and therefore cannot be queried from User object. You will need 2 queries:

     

    List<User> users = [SELECT IsActive, Id, (SELECT Id FROM PermissionSetAssignments) FROM User WHERE isActive = true];

    Set<Id> userIds = new Set<Id>();

    for(User u : users){

       userIds.add(u.Id);

    }

    List<GroupMember> = [SELECT GroupId, Id, SystemModstamp, UserOrGroupId FROM GroupMember WHERE UserOrGroupId IN :userIds];

    Hope this helps!

    Best regards,

    Martijn Schwärzer
0/9000