From: | S G <sgennaria2(at)gmail(dot)com> |
---|---|
To: | pgsql-sql(at)postgresql(dot)org |
Subject: | distinguishing identical columns after joins |
Date: | 2011-03-01 19:47:12 |
Message-ID: | AANLkTinSR8Wuago7HdATetEiXQLU8fjbnm2tX5n1RGHG@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
This question is particularly geared towards self-joins, but can apply
to any join where the tables involved have any identical column names.
Aside from explicit column references, is there any way to pull all
columns (*) from each table in a join and quickly append/prepend some
identifier to distinguish them from each other? For example, table t1
contains columns named col1 and col2:
SELECT
*
FROM
t1 AS a
INNER JOIN
t1 AS b
ON
a.col1 = b.col1
would yield a result set with column names: col1, col2, col1, col2.
I'm looking for something that would automatically rename the columns
like: a_col1, a_col2, b_col1, b_col2. Does such functionality exist?
It's not such a big deal in this example, but it can be quite tedious
to explicitly reference and rename every single column for such joins
when the tables involved have a very large number of columns.
I would beg for the same functionality when expanding compound
datatypes. For example, a compound datatype cd1 exists with fields
named f1 and f2:
SELECT
((value1, value2)::cd1).* AS a
normally produces a result set with column names: f1, f2. I'm looking
for something that would produce column names: a_f1, a_f2.
Thanks!
sg
From | Date | Subject | |
---|---|---|---|
Next Message | Rob Sargent | 2011-03-01 19:53:38 | Re: distinguishing identical columns after joins |
Previous Message | Vibhor Kumar | 2011-03-01 07:56:34 | Re: what's wrong in this procedure? |