Обсуждение: alias not applied

Поиск
Список
Период
Сортировка

alias not applied

От
"Sabin Coanda"
Дата:
Hi all,

I have two queries:

1. SELECT i AS "PK_ID", d AS "Deleted" FROM ( SELECT 52 AS i, true AS d  ) x 
ORDER BY i
2. SELECT i AS "PK_ID", d AS "Deleted" FROM ( SELECT 49 AS i, true AS d 
UNION SELECT 51 AS i, true AS d  ) x ORDER BY i

The first returns the columns "PK_ID", "Deleted"
The second returns the columns i, d.

Why ?

TIA,
Sabin 




Re: alias not applied

От
Frank Bax
Дата:
At 11:04 AM 2/9/07, Sabin Coanda wrote:
>I have two queries:
>
>1. SELECT i AS "PK_ID", d AS "Deleted" FROM ( SELECT 52 AS i, true AS d  ) x
>ORDER BY i
>2. SELECT i AS "PK_ID", d AS "Deleted" FROM ( SELECT 49 AS i, true AS d
>UNION SELECT 51 AS i, true AS d  ) x ORDER BY i
>
>The first returns the columns "PK_ID", "Deleted"
>The second returns the columns i, d.
>
>Why ?


perhaps you are running an old version - both queries produce the same 
column names on my 8.2.1 system.



Re: alias not applied

От
Tom Lane
Дата:
"Sabin Coanda" <sabin.coanda@deuromedia.ro> writes:
> I have two queries:

> 1. SELECT i AS "PK_ID", d AS "Deleted" FROM ( SELECT 52 AS i, true AS d  ) x 
> ORDER BY i
> 2. SELECT i AS "PK_ID", d AS "Deleted" FROM ( SELECT 49 AS i, true AS d 
> UNION SELECT 51 AS i, true AS d  ) x ORDER BY i

> The first returns the columns "PK_ID", "Deleted"
> The second returns the columns i, d.

Works for me:

regression=# SELECT i AS "PK_ID", d AS "Deleted" FROM ( SELECT 52 AS i, true AS d  ) x ORDER BY i;PK_ID | Deleted
-------+---------   52 | t
(1 row)

regression=# SELECT i AS "PK_ID", d AS "Deleted" FROM ( SELECT 49 AS i, true AS d UNION SELECT 51 AS i, true AS d  ) x
ORDERBY i;PK_ID | Deleted
 
-------+---------   49 | t   51 | t
(2 rows)

regression=#

What PG version are you using, exactly?
        regards, tom lane


Re: alias not applied

От
"Sabin Coanda"
Дата:
You are right. I use "PostgreSQL 8.1.0 on i686-pc-mingw32, compiled by GCC 
gcc.exe (GCC) 3.4.2 (mingw-special)" on Windows.

But I just tried it on a newer version and it works well ( "PostgreSQL 8.1.4 
on i686-redhat-linux-gnu, compiled by GCC gcc (GCC) 4.0.2 20051125 (Red Hat 
4.0.2-8)" ).

Thanks a lot,
Sabin


"Tom Lane" <tgl@sss.pgh.pa.us> wrote in message 
news:961.1171038340@sss.pgh.pa.us...
> "Sabin Coanda" <sabin.coanda@deuromedia.ro> writes:
>> I have two queries:
>
>> 1. SELECT i AS "PK_ID", d AS "Deleted" FROM ( SELECT 52 AS i, true AS 
>>   ) x
>> ORDER BY i
>> 2. SELECT i AS "PK_ID", d AS "Deleted" FROM ( SELECT 49 AS i, true AS d
>> UNION SELECT 51 AS i, true AS d  ) x ORDER BY i
>
>> The first returns the columns "PK_ID", "Deleted"
>> The second returns the columns i, d.
>
> Works for me:
>
> regression=# SELECT i AS "PK_ID", d AS "Deleted" FROM ( SELECT 52 AS i, 
> true AS d  ) x ORDER BY i;
> PK_ID | Deleted
> -------+---------
>    52 | t
> (1 row)
>
> regression=# SELECT i AS "PK_ID", d AS "Deleted" FROM ( SELECT 49 AS i, 
> true AS d UNION SELECT 51 AS i, true AS d  ) x ORDER BY i;
> PK_ID | Deleted
> -------+---------
>    49 | t
>    51 | t
> (2 rows)
>
> regression=#
>
> What PG version are you using, exactly?
>
> regards, tom lane
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Have you searched our list archives?
>
>               http://archives.postgresql.org
>