Re: Problem with NOT IN portion of query.

From: Robert Creager <Robert_Creager(at)LogicalChaos(dot)org>
To: Tomasz Myrta <jasiek(at)klaster(dot)net>
Cc: PGSQL <pgsql-sql(at)postgresql(dot)org>
Subject: Re: Problem with NOT IN portion of query.
Date: 2004-01-12 13:05:45
Message-ID: 20040112060545.59752f05.Robert_Creager@LogicalChaos.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

When grilled further on (Mon, 12 Jan 2004 07:28:09 +0100),
Tomasz Myrta <jasiek(at)klaster(dot)net> confessed:

> Dnia 2004-01-12 05:04, U¿ytkownik Robert Creager napisa³:
> >
> > SELECT date_trunc( 'hour', "when" )::timestamp AS
> > period FROM readings WHERE period NOT IN (SELECT "time" FROM
> > hour.summary_period) GROUP BY period ORDER BY period;
> >
> > The error is:
> >
> > ERROR: column "period" does not exist
> >
> Your problem has nothing to "NOT IN".
> Your query works fine, when you remove column alias from WHERE clause -
> it's beacause WHERE clause is executed *before* data output (and before
> column aliases). You can still use column aliases in "GROUP BY" and
> "ORDER BY".

Thanks for the info.

So now I have:

SELECT p.period FROM (SELECT date_trunc( 'hour', "when" )::timestamp AS period
FROM readings GROUP BY period) AS p WHERE p.period NOT IN (SELECT "time" FROM
hour.summary_period) ORDER BY p.period;

which appears works as expected. Anything obviously goofy with the above query?

Cheers,
Rob
--
05:57:10 up 14 days, 19:47, 4 users, load average: 2.17, 2.07, 2.04

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message beyaRecords - The home Urban music 2004-01-12 16:14:23 Triggers
Previous Message Richard Huxton 2004-01-12 09:52:53 Re: Unique key field or serverl fks ?