From: | "Glenn MacGregor" <gtm(at)oracom(dot)com> |
---|---|
To: | <pgsql-sql(at)postgresql(dot)org> |
Subject: | Complex query help please |
Date: | 2001-11-27 22:23:25 |
Message-ID: | 020c01c17792$2176f820$4d00a8c0@catamount |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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
From | Date | Subject | |
---|---|---|---|
Next Message | Josh Berkus | 2001-11-28 00:01:36 | Re: PL/pgSQL examples NOT involving functions |
Previous Message | Aasmund Midttun Godal | 2001-11-27 19:59:17 | Re: PL/pgSQL examples NOT involving functions |