Skip site navigation (1) Skip section navigation (2)

Re: Complex view question

From: "Josh Berkus" <josh(at)agliodbs(dot)com>
To: "Glenn MacGregor" <gtm(at)oracom(dot)com>, "Glenn MacGregor" <gtm(at)oracom(dot)com>, <pgsql-sql(at)postgresql(dot)org>
Subject: Re: Complex view question
Date: 2002-01-16 21:27:48
Message-ID: web-621524@davinci.ethosmedia.com (view raw or flat)
Thread:
Lists: pgsql-sql
Glenn,

First, I think that you would find your own queries easier to debug if you used
 some indenting and line breaks to organize the text.  Whenever I run into a
 query problem, that's what I do and frequently the missed clause or problem
 aggregate becomes obvious.

> Query 1:  returns correct number of rows
> select * from overperms where username='test' union select * from
>  defaultperms where username='test' and vimname not in (select vimname from
>  overperms where username='test');
> 
> Query 2:  return incorrect number of rows
> create view perms as select * from overperms union select * from defaultperms
>  where vimname not in (select vimname from overperms);
> 
> select * from perms where username='test';

These two are NOT the same query, so it's unsurprising that the counts come out
 different.  In the second query, you are excluding ALL rows present in
 overperms from the count of defaultperms, not just those rows with a username
 of 'test'.   Thus, if vimname <-> username parings are variable, you will
 indeed get different counts for the first query than the second.

Also, I don't think that your query structure is optimal.  I think you're
 making this harder than it needs to be.  However, I can't tell without seeing
 your data structure.

-Josh Berkus

______AGLIO DATABASE SOLUTIONS___________________________
                                       Josh Berkus
  Complete information technology      josh(at)agliodbs(dot)com
   and data management solutions       (415) 565-7293
  for law firms, small businesses        fax 621-2533
    and non-profit organizations.      San Francisco

In response to

Responses

pgsql-sql by date

Next:From: Glenn MacGregorDate: 2002-01-16 21:38:02
Subject: Re: Complex view question
Previous:From: Glenn MacGregorDate: 2002-01-16 21:04:59
Subject: Re: Complex view question

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group