Обсуждение: SELECT 1st field

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

SELECT 1st field

От
Jan Bakuwel
Дата:
Hi,

I've spend some time checking the documentation but haven't been able to
find what I'm looking for.
I've got a function that returns a set of integers and a view that
selects from the function.
What I need is the ability to name the column in the view, ie.

create function func(i int) returns setof integer as $$
...
...code
...
$$ language plpythonu volatile;

create view v as select 1 as "id" from func(5);


In other words I'd like to refer to the first (and only) field returned
and give that an alias, in this case "id".

In some SQL dialects you can use "select 1" to select the first field,
"select 2" to select the 2nd field and so on.

Any suggestions?

regards,
Jan



Re: SELECT 1st field

От
msi77
Дата:
Try this

create view v(id) as select * from func(5);

if your function returns one column.


15.05.2012, 10:01, "Jan Bakuwel" <jan.bakuwel@greenpeace.org>:
> Hi,
>
> I've spend some time checking the documentation but haven't been able to
> find what I'm looking for.
> I've got a function that returns a set of integers and a view that
> selects from the function.
> What I need is the ability to name the column in the view, ie.
>
> create function func(i int) returns setof integer as $$
> ...
> ...code
> ...
> $$ language plpythonu volatile;
>
> create view v as select 1 as "id" from func(5);
>
> In other words I'd like to refer to the first (and only) field returned
> and give that an alias, in this case "id".
>
> In some SQL dialects you can use "select 1" to select the first field,
> "select 2" to select the 2nd field and so on.
>
> Any suggestions?
>
> regards,
> Jan


Re: SELECT 1st field

От
Misa Simic
Дата:
When you select from function I think column name is the same as
function name. So if function name is func query would be:

SELECT func AS id FROM func(5);



Sent from my Windows Phone
From: Jan Bakuwel
Sent: 15/05/2012 08:02
To: pgsql-sql@postgresql.org
Subject: [SQL] SELECT 1st field
Hi,

I've spend some time checking the documentation but haven't been able to
find what I'm looking for.
I've got a function that returns a set of integers and a view that
selects from the function.
What I need is the ability to name the column in the view, ie.

create function func(i int) returns setof integer as $$
...
...code
...
$$ language plpythonu volatile;

create view v as select 1 as "id" from func(5);


In other words I'd like to refer to the first (and only) field returned
and give that an alias, in this case "id".

In some SQL dialects you can use "select 1" to select the first field,
"select 2" to select the 2nd field and so on.

Any suggestions?

regards,
Jan

Re: SELECT 1st field

От
Tom Lane
Дата:
Jan Bakuwel <jan.bakuwel@greenpeace.org> writes:
> What I need is the ability to name the column in the view, ie.

> create view v as select 1 as "id" from func(5);

I think what you're looking for is the ability to re-alias a column name,
for example
select id from func(5) as foo(id);
        regards, tom lane


Re: SELECT 1st field

От
Misa Simic
Дата:
Both works fine:

SELECT generate_series AS id FROM generate_series(1,5);

and

SELECT id FROM generate_series(1,5) AS foo(id);

Technically dont know is there any differenece...

Thanks,

Misa

2012/5/15 Tom Lane <tgl@sss.pgh.pa.us>
Jan Bakuwel <jan.bakuwel@greenpeace.org> writes:
> What I need is the ability to name the column in the view, ie.

> create view v as select 1 as "id" from func(5);

I think what you're looking for is the ability to re-alias a column name,
for example

       select id from func(5) as foo(id);

                       regards, tom lane

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

Re: SELECT 1st field

От
Misa Simic
Дата:
When you select from function I think column name is the same as
function name. So if function name is func query would be:

SELECT func AS id FROM func(5);



Sent from my Windows Phone
From: Jan Bakuwel
Sent: 15/05/2012 08:02
To: pgsql-sql@postgresql.org
Subject: [SQL] SELECT 1st field
Hi,

I've spend some time checking the documentation but haven't been able to
find what I'm looking for.
I've got a function that returns a set of integers and a view that
selects from the function.
What I need is the ability to name the column in the view, ie.

create function func(i int) returns setof integer as $$
...
...code
...
$$ language plpythonu volatile;

create view v as select 1 as "id" from func(5);


In other words I'd like to refer to the first (and only) field returned
and give that an alias, in this case "id".

In some SQL dialects you can use "select 1" to select the first field,
"select 2" to select the 2nd field and so on.

Any suggestions?

regards,
Jan


Re: SELECT 1st field

От
Jan Bakuwel
Дата:
Hi Misa, Tom & msi77,

On 16/05/12 00:21, Misa Simic wrote:
> SELECT id FROM generate_series(1,5) AS foo(id);

Thanks for the suggestions - all sorted!

cheers,
Jan