Complex query help please - Mailing list pgsql-sql

From Glenn MacGregor
Subject Complex query help please
Date
Msg-id 020c01c17792$2176f820$4d00a8c0@catamount
Whole thread Raw
Responses Re: Complex query help please
List 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 by date:

Previous
From: "Aasmund Midttun Godal"
Date:
Subject: Re: PL/pgSQL examples NOT involving functions
Next
From: "Josh Berkus"
Date:
Subject: Re: PL/pgSQL examples NOT involving functions