do I need a table function to do this?

Started by Kirk Wythersover 13 years ago2 messagesgeneral
Jump to latest
#1Kirk Wythers
kwythers@umn.edu

I have been given an interesting problem to solve in a postgres db. I was given two tables

t1:

site treatment variable id (pk)
-------------------------------------------------------------
A X BLUE 1A
B Y RED 2B
A Y GREEN 3A

t2:

rowid (pk) timestamp BLUE RED GREEN
-----------------------------------------------------------------------------------------
1 1332493200 3.4 2.1 5.8
2 1332496800 3.2 2.0 5.8
3 1332500400 3.3 2.2 6.0

I need to combine the site and treatment information from t1 with the variable records in t2. I think I will have to combine these one variable at a time. Something like this (I'm not using the word join, because I don't think this is a join in the regular sense. It's more like some kind of crazy pivot table thing!):

t3:

rowid (pk) timestamp BLUE site treatment
-------------------------------------------------------------------------------------
1 1332493200 3.4 A X
2 1332496800 3.2 A X
3 1332500400 3.3 A X

and then:

t4

rowid (pk) timestamp RED site treatment
-------------------------------------------------------------------------------------
1 1332493200 2.1 B Y
2 1332496800 2.0 B Y
3 1332500400 2.2 B Y

Is this even possible?

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

#2Serge Fonville
serge.fonville@gmail.com
In reply to: Kirk Wythers (#1)
Re: do I need a table function to do this?

Hi,

Assuming the columns in t2 are fixed, you should be able fairly easy solve
this using a cursor.

HTH
Kind regards/met vriendelijke groet,

Serge Fonville

http://www.sergefonville.nl

Convince Microsoft!
They need to add TRUNCATE PARTITION in SQL Server
https://connect.microsoft.com/SQLServer/feedback/details/417926/truncate-partition-of-partitioned-table

2012/12/29 Kirk Wythers <kwythers@umn.edu>

Show quoted text

I have been given an interesting problem to solve in a postgres db. I was
given two tables

t1:

site treatment variable id (pk)
-------------------------------------------------------------
A X BLUE 1A
B Y RED 2B
A Y GREEN 3A

t2:

rowid (pk) timestamp BLUE RED
GREEN

-----------------------------------------------------------------------------------------
1 1332493200 3.4
2.1 5.8
2 1332496800 3.2
2.0 5.8
3 1332500400 3.3
2.2 6.0

I need to combine the site and treatment information from t1 with the
variable records in t2. I think I will have to combine these one variable
at a time. Something like this (I'm not using the word join, because I
don't think this is a join in the regular sense. It's more like some kind
of crazy pivot table thing!):

t3:

rowid (pk) timestamp BLUE site
treatment

-------------------------------------------------------------------------------------
1 1332493200 3.4 A
X
2 1332496800 3.2 A
X
3 1332500400 3.3 A
X

and then:

t4

rowid (pk) timestamp RED site
treatment

-------------------------------------------------------------------------------------
1 1332493200 2.1 B
Y
2 1332496800 2.0 B
Y
3 1332500400 2.2 B
Y

Is this even possible?

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