Constructing column from different individual fields in same row.

Поиск
Список
Период
Сортировка
От froggle2003@yahoo.com (Alex Martinoff)
Тема Constructing column from different individual fields in same row.
Дата
Msg-id 34f50f10.0309092002.426246a4@posting.google.com
обсуждение исходный текст
Ответы Re: Constructing column from different individual fields in same row.  (Bruno Wolff III <bruno@wolff.to>)
Re: Constructing column from different individual fields  (Mike Mascari <mascarm@mascari.com>)
Список pgsql-general
I'm wondering if it's possible to have a query construct a column
where the value of the column at each row is taken from another field
in that same row. For example, suppose you have a table like:

create table users (
    uid serial,
    nickname varchar(20),
    realname varchar(30),
    prefname int2,
    primary key (uid)
);

insert into users (nickname, realname, prefname)
values ('Stevo', 'Steve Sullivan', 1);

insert into users (nickname, realname, prefname)
values ('Johnny Boy', 'John Fisk', 2);


A prefname of 1 means the user prefers their nickname, while 2 means
they prefer their realname.

Is there a query I can perform that would return:

 uid | Preferred Name
-----+----------------
   1 | Stevo
   2 | John Fisk

Or, is it necessary to waste storage by making prefname varchar(30)
and then duplicating the preferred name into the prefname field?

Thanks for any answers.

В списке pgsql-general по дате отправления:

Предыдущее
От: Bruno Wolff III
Дата:
Сообщение: Re: The ..... worm
Следующее
От: "Bruno BAGUETTE"
Дата:
Сообщение: RE : How to convert a UnixTimestamp to a PostgreSQL date without using ::abstime ?