Complex query help please

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

Responses

Browse pgsql-sql by date

  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