distinguishing identical columns after joins - Mailing list pgsql-sql

From S G
Subject distinguishing identical columns after joins
Date
Msg-id AANLkTinSR8Wuago7HdATetEiXQLU8fjbnm2tX5n1RGHG@mail.gmail.com
Whole thread Raw
Responses Re: distinguishing identical columns after joins  (Rob Sargent <robjsargent@gmail.com>)
List 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
anyway 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


pgsql-sql by date:

Previous
From: Vibhor Kumar
Date:
Subject: Re: what's wrong in this procedure?
Next
From: Rob Sargent
Date:
Subject: Re: distinguishing identical columns after joins