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. 4 1735
On Tue, Sep 09, 2003 at 21:02:21 -0700,
Alex Martinoff <fr*********@yahoo.com> 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:
You can use CASE to do this.
---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster
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 ma*****@mascari.com
---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to ma*******@postgresql.org
Bruno Wolff III wrote: On Tue, Sep 09, 2003 at 21:02:21 -0700, Alex Martinoff <fr*********@yahoo.com> 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:
You can use CASE to do this.
You can also use UNION:
SELECT col1 ...
UNION
SELECT col2 ...
--
Bruce Momjian | http://candle.pha.pa.us pg***@candle.pha.pa.us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073
---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives? http://archives.postgresql.org
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 ma*****@mascari.com
---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to ma*******@postgresql.org This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: Benjamin Scott |
last post by:
Hello.
I attempted to build a compound dictionary:
len(Lst)=1000
len(nuerLst)=250
len(nuestLst)=500
Dict={}
|
by: ben |
last post by:
This is probably a common problem with a standard design pattern, but
I'm having trouble finding the solution.
I have a table with a lot of columns, for this example I'll just use
three but in...
|
by: Jerry |
last post by:
Hi Folks,
Ok, here's my story. I was asked to create a website
for the church I attend. I am a complete newbie to
creating websites. So, I did the usual -- did a bunch
of googling, found...
|
by: Alex Martinoff |
last post by:
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:...
|
by: Steve Jorgensen |
last post by:
Hi all,
I've just finished almost all of what has turned out to be a real bear of a
project. It has to import data from a monthly spreadsheet export from another
program, and convert that into...
|
by: Paul |
last post by:
Hi I have a data grid with a hyperlink column. the colum has numbers like
00001,000002, ect. Just wondering how to get the text value of the cell as
tempstring =...
|
by: Hefestus |
last post by:
Hey everyone,
I have never really used access before and i now find myself knee deep
in it trying to solve a problem. Hopefully someone has an idea.
Anything would be great. Here's the problem:...
|
by: Mike Otten |
last post by:
Any help greatly appreciated.
The validated page is at: http://myweb.stedwards.edu/michaelo/ddtab.htm
The trouble is with the radio buttons (2/3-down the left column). The
radios are...
|
by: Steve |
last post by:
I realize that this probably isn't a best practice, but I'm working with
legacy code that has a query stored in one column of a table. Because
the queries vary, the JSP page that selects a query...
|
by: bgreen |
last post by:
I am hoping for some assistance with formatting a large text file which
consists of a series of individual records. Each record includes
specific labels/field names (a sample of 1 record (one of...
|
by: nemocccc |
last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
|
by: Sonnysonu |
last post by:
This is the data of csv file
1 2 3
1 2 3
1 2 3
1 2 3
2 3
2 3
3
the lengths should be different i have to store the data by column-wise with in the specific length.
suppose the i have to...
|
by: Hystou |
last post by:
There are some requirements for setting up RAID:
1. The motherboard and BIOS support RAID configuration.
2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
|
by: marktang |
last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
|
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
|
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers,...
|
by: Hystou |
last post by:
Overview:
Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome a new...
| |