L van der Walt wrote: > 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. > > Thus, a NOT the statement for the above SQL statement > > Regards > > Lani >
what you need to do is select all possible permissions and then remove the permissions that exist. try somthing like: SELECT permissions.name FROM permissions.name WHERE permission.permissionid NOT IN ( SELECT permissions.permissionid FROM users INNER JOIN linkuptable ON (users.id = linkuptable.userid) INNER JOIN permissions ON (permissions.id = linkuptable.permissionid) WHERE users.username = 'DummyUser' ) ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend