| 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: | Whole Thread | Raw Message | 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>
| 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? |