Complex query help please
От | Glenn MacGregor |
---|---|
Тема | Complex query help please |
Дата | |
Msg-id | 020c01c17792$2176f820$4d00a8c0@catamount обсуждение исходный текст |
Ответы |
Re: Complex query help please
|
Список | pgsql-sql |
Hi All,
I am new to sql and have the need for a complex query. I have figured out how to do it in two queries but I would like to get it down to one. I will give you my queries and hopefully some can give me some assistance.
Thanks
Query 1:
create temp table ttable1 as select xpressuser.username, xpressvimpermission.commandaccess, xpressvimpermission.eventaccess from xpressvim left join xpressvimpermission using (vimid) left join xpressgroup using (groupid) left join xpressuser using (groupid) where xpressvim.vimname = 'testvim2';
creates a temp table.
Query 2:
select * from ttable1 union select xpressuser.username, xpressgroup.commandaccess, xpressgroup.eventaccess from xpressgroup left join xpressuser using (groupid) where xpressuser.username not in (select username from ttable1) and (xpressgroup.commandaccess != 'n' or xpressgroup.eventaccess != 'f');
So the idea is I have a default set of permissions that users get, these permissions can be overridden on each vim for each group(user). The first query results in a table which has all the overridden permissions.
The second query results in a table which has all the default permissions unioned with the previous table and not in the previous table.
Is there any way to do this one query or a function?
Thanks
Glenn
В списке pgsql-sql по дате отправления: