order by is ambiguous

Started by Travel Jadooabout 22 years ago4 messagesgeneral
Jump to latest
#1Travel Jadoo
jadoo@xs4all.nl

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

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Travel Jadoo (#1)
Re: order by is ambiguous

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

#3Travel Jadoo
jadoo@xs4all.nl
In reply to: Tom Lane (#2)
Re: order by is ambiguous

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

#4Mike Nolan
nolan@gw.tssi.com
In reply to: Travel Jadoo (#3)
Re: order by is ambiguous

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