public inbox for [email protected]
help / color / mirror / Atom feedPG Unpivot ?
2+ messages / 2 participants
[nested] [flat]
* PG Unpivot ?
@ 2025-11-03 17:18 dfgpostgres <[email protected]>
0 siblings, 1 reply; 2+ messages in thread
From: dfgpostgres @ 2025-11-03 17:18 UTC (permalink / raw)
To: [email protected]
psql (13.2, server 15.3) on linux
I think they call this "unpivot" in MSSQL ?
How can I get an sql query to return one line per column with... an ID,
column name and value. the ctid for the id field is fine.
Example:
dvdb=# create table unpivot (intcol integer, floatcol float, strcol
varchar);
CREATE TABLE
dvdb=# insert into unpivot (intcol,floatcol,strcol) values
(1,1.1,'one'),(2,2.2,'two'),(3,3.3,'three');
INSERT 0 3
dvdb=# select * from unpivot;
intcol | floatcol | strcol
--------+----------+--------
1 | 1.1 | one
2 | 2.2 | two
3 | 3.3 | three
(3 rows)
I want 9 records returned, each row with 3 cols, 1st col is the ctid,
second is the column name, third is the val.
Thanks in Advance !
^ permalink raw reply [nested|flat] 2+ messages in thread
* Re: PG Unpivot ?
@ 2025-11-03 17:33 Tom Lane <[email protected]>
parent: dfgpostgres <[email protected]>
0 siblings, 0 replies; 2+ messages in thread
From: Tom Lane @ 2025-11-03 17:33 UTC (permalink / raw)
To: dfgpostgres <[email protected]>; +Cc: [email protected]
dfgpostgres <[email protected]> writes:
> I want 9 records returned, each row with 3 cols, 1st col is the ctid,
> second is the column name, third is the val.
Perhaps psql's "expanded" mode is close enough?
regression=# \x
Expanded display is on.
regression=# select * from unpivot;
-[ RECORD 1 ]---
intcol | 1
floatcol | 1.1
strcol | one
-[ RECORD 2 ]---
intcol | 2
floatcol | 2.2
strcol | two
-[ RECORD 3 ]---
intcol | 3
floatcol | 3.3
strcol | three
PS: I do not advise relying on ctid as a row identifier.
Use a proper primary key.
regards, tom lane
^ permalink raw reply [nested|flat] 2+ messages in thread
end of thread, other threads:[~2025-11-03 17:33 UTC | newest]
Thread overview: 2+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2025-11-03 17:18 PG Unpivot ? dfgpostgres <[email protected]>
2025-11-03 17:33 ` Tom Lane <[email protected]>
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox