Alex Martinoff wrote: > 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
SELECT uid, (CASE WHEN prefname = 1 THEN nickname ELSE realname END) AS "Preferred Name" FROM users WHERE ... HTH, Mike Mascari [EMAIL PROTECTED] ---------------------------(end of broadcast)--------------------------- TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]