On Wed, Mar 23, 2011 at 4:08 PM, <t...@fuzzy.cz> wrote: > > I just want to retrieve that id 's from page_content which do not have > > any entry in clause2 table. > > In that case the query probably does not work (at least the query you've > sent in the first post) as it will return even those IDs that have at > least one other row in 'clause2' (not matching the != condition). At least > that's how I understand it. > > true.
> So instead of this > > select distinct(p.crawled_page_id) > from page_content p, clause2 c where p.crawled_page_id != c.source_id ; > > you should probably do this > > select distinct(p.crawled_page_id) > from page_content p left join clause2 c on (p.crawled_page_id = > c.source_id) where (c.source_id is null); > > I guess this will be much more efficient too. > > This looks like to give expected results. Also note that the where clause "is null" is really required and is not an optional predicate. > regards > Tomas > > > -- > Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-performance > -- Regards, Chetan Suttraway EnterpriseDB <http://www.enterprisedb.com/>, The Enterprise PostgreSQL<http://www.enterprisedb.com/> company.