Re: RE: Referencing named attribute in where clause doesn't work with7.1.2?

From: Andreas Joseph Krogh <andreak(at)officenet(dot)no>
To: pgsql-sql(at)postgresql(dot)org
Subject: Re: RE: Referencing named attribute in where clause doesn't work with7.1.2?
Date: 2001-08-08 14:41:06
Message-ID: 3B714F82.D8912EEE@officenet.no
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Jeff Eckermann wrote:
>
> The WHERE clause is evaluated before your SELECT list is determined, so the
> aliased value cannot be used.
> You can put further NOT NULL tests into the subqueries to make sure that
> null values are not returned.
> Question: why not just join the tables explicitly?

:-) Because I'm not too familiar with joins.

> The more usual SQL
> approach would be something like:
>
> SELECT article.title_text_key, on_text.text_value AS title_text_value
> FROM article INNER JOIN (on_text INNER JOIN (code INNER JOIN code_group ON
> code.code_group_id = code.id) ON on_text.lang_id = code.id) ON
> article.title_text_key = on_text.text_key
> WHERE on_text.text_value IS NOT NULL;
>
> or whatever other tests you want. In this case, you can easily reference
> the fields by name.

The problem with the query above is that it doesn't include my
"code.code_key='lang.NO'" test.

I rephrased the query as follows:

SELECT article.title_text_key, on_text.text_value AS title_text_value
FROM article INNER JOIN (on_text INNER JOIN (code INNER JOIN code_group
ON
code.code_group_id = code_group.id) ON on_text.lang_id = code.id AND
code_group.description = 'lang' AND code.code_key = 'lang.NO') ON
article.title_text_key = on_text.text_key
WHERE on_text.text_value IS NOT NULL;

And now it works!

Thank you for helping me out.

--
Andreas Joseph Krogh <andreak(at)officenet(dot)no>

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Chris Ruprecht 2001-08-08 15:20:23 Re: Functions returning more than one value
Previous Message Jeff Eckermann 2001-08-08 13:49:04 RE: Referencing named attribute in where clause doesn't work with 7.1.2?