Re: Ambiguous order by?

Поиск
Список
Период
Сортировка
От Cody Cutrer
Тема Re: Ambiguous order by?
Дата
Msg-id CA+=qeWu7RUsLRxYAgy7V0Bx-Fi6CE1VD3Kt_=nLMM6gMKp9Asg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Ambiguous order by?  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
Okay, so why does wrapping the order by in a function fix it? (or not doing a join, or doing an implicit join)

Cody Cutrer


On Wed, May 22, 2013 at 11:36 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Cody Cutrer <cody@instructure.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

В списке pgsql-general по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Ambiguous order by?
Следующее
От: John R Pierce
Дата:
Сообщение: Re: [ODBC] ODBC constructs