Thread: order by is ambiguous

order by is ambiguous

From
Travel Jadoo
Date:
I could not find any discussion on this but imho this seems an erroneous
error occuring now in 7.3.4 (after upgrade from 7.2.3):

select  null::time, 'test'::varchar as time order by time;
ERROR:  ORDER BY 'time' is ambiguous

The solution is to name the time datatype e.g.

select  null::time as xyz, 'test'::varchar as time order by time;

Regards,
Alfred


Re: order by is ambiguous

From
Tom Lane
Date:
Travel Jadoo <jadoo@xs4all.nl> writes:
> I could not find any discussion on this but imho this seems an erroneous
> error occuring now in 7.3.4 (after upgrade from 7.2.3):

> select  null::time, 'test'::varchar as time order by time;
> ERROR:  ORDER BY 'time' is ambiguous

What's erroneous about it?  You have two output columns named 'time'.

            regards, tom lane

Re: order by is ambiguous

From
Travel Jadoo
Date:
On Thu, 2004-01-08 at 16:09, Tom Lane wrote:
> Travel Jadoo <jadoo@xs4all.nl> writes:
> > I could not find any discussion on this but imho this seems an erroneous
> > error occuring now in 7.3.4 (after upgrade from 7.2.3):
>
> > select  null::time, 'test'::varchar as time order by time;
> > ERROR:  ORDER BY 'time' is ambiguous
>
> What's erroneous about it?  You have two output columns named 'time'.
>
>             regards, tom lane

Hmm but the first one has actually no name, it's just casted as datatype
time. I now realise that casted columns get assigned the datatype as
name. Should it not show  ?column? as output just like you a "select
null;" would do?

This actually came up as I have multiple time fields but only one was
named time by me.

Regards,
Alfred



Re: order by is ambiguous

From
Mike Nolan
Date:
> Hmm but the first one has actually no name, it's just casted as datatype
> time. I now realise that casted columns get assigned the datatype as
> name. Should it not show  ?column? as output just like you a "select
> null;" would do?

i think you're confusing what the front end uses as a default column
heading with what the back end uses as a default column name.  '?column?'
would probably not meet SQL standards.
--
Mike Nolan