L van der Walt <mailing@xxxxxxxxxx> writes: > I have three table: > Users - Contains username, ID etc... > Permissions - A permission name and ID > Link up table - The user.id and permission.id > > If a user.id and a permission.id row exists in the linkuptable the user > have that permission granted. > > With the statement below I can see the permissions a user have. > > SELECT users.username, permissions.name > FROM users INNER JOIN linkuptable > ON (users.id = linkuptable.userid) > INNER JOIN permissions > ON (permissions.id = linkuptable.permissionid) > WHERE users.username = 'DummyUser' > > How do I see the permissions that user DON'T have with a fast SQL statement. > Simple. select permname from permissions where permid not in ( select permid from linkage where userid = 'dummy' ); Or... a slick way to get the anti-permission for the whole bunch of users is to; cross join the userids with permids and then EXCEPT SELECT from linkage table to filter out the active permissions. Have fun! -- ------------------------------------------------------------------------------- Jerry Sievers 305 854-3001 (home) WWW ECommerce Consultant 305 321-1144 (mobile http://www.JerrySievers.com/ ---------------------------(end of broadcast)--------------------------- TIP 5: don't forget to increase your free space map settings