Re: Ambiguous order by?

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Cody Cutrer <cody(at)instructure(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Ambiguous order by?
Date: 2013-05-22 17:36:09
Message-ID: 8386.1369244169@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Cody Cutrer <cody(at)instructure(dot)com> writes:
> create table test1 (id integer, sortable_name varchar);
> create table test2 (id integer, test1_id integer);
> select test1.sortable_name, sortable_name from test1 inner join test2
> on test1.id=test1_id order by sortable_name;
> ERROR: ORDER BY "sortable_name" is ambiguous
> LINE 1: ...t1 inner join test2 on test1.id=test1_id order by sortable_n...

I think it's unhappy because "sortable_name" could refer to either of
the output columns (under the old SQL92 convention that an ORDER BY item
is an output column name). Probably the easiest way to dodge that is to
qualify the name, ie ORDER BY test1.sortable_name. A different line of
attack is to use AS to relabel whichever output column you don't want to
match.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Cody Cutrer 2013-05-22 17:37:23 Re: Ambiguous order by?
Previous Message Pavel Stehule 2013-05-22 17:23:45 Re: DECLARING THE CURSOR WITH HOLD