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 -- Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-sql