Search Postgresql Archives

Re: RFE: Column aliases in WHERE clauses

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, 2012-09-22 at 20:00 -0700, Chris Travers wrote:
> On Sat, Sep 22, 2012 at 12:23 AM, Jasen Betts <jasen@xxxxxxxxxx>
> wrote:
>         On 2012-09-18, Rafal Pietrak <rafal@xxxxxxxxxxxxxxxxxx> wrote:

[-------------]

>         > could be written by user as (3):
>         >       SELECT 1/x AS inverse FROM data WHERE x <> 0 AND
>         inverse > 20;
>         > but token/replaced to its form (2) before WHERE evaluation.
>         
>         
>         Macros are confusing:
>         
>          select random()*10 as confusion from generate_series(1,10)
>          where confusion > 5;

No dought about that. 

And as I really cannot tell you if such processing-alias-as-macro (if
available) would make me more error prone or not; I deffinitly know,
that I often "upsss.." and rewrite an item from SELECT list into the
WHERE clause - because as a common sql-user I do forget such nuances.
Learning (for good :), that the ".... as <name>" is *not* a "definition
of a logical/local short-name for an expression" (e.g. it is, but only
within the context of SQL statement evaluation sequence) is really
counterintuitive for an sql-user like myself.
>         
> Also you can already do this:
> 
> 
> CREATE FUNCTION inverse(data) RETURNS NUMERIC LANGUAGE SQL IMMUTABLE
> AS $$
>     select case when $1.x = 0 then null else 1/$1.x end; 
> $$;
> 
Hmmm, well. No. This is an overkill to a problem. I'd rather stay with
SELECT list item copyed by hand into the WHERE clauses.

-R




-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux