Re: A Not Join
От | stig erikson |
---|---|
Тема | Re: A Not Join |
Дата | |
Msg-id | dlta4i$2hvu$1@news.hub.org обсуждение исходный текст |
Ответ на | A Not Join (L van der Walt <mailing@lani.co.za>) |
Список | pgsql-sql |
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')
В списке pgsql-sql по дате отправления: