Tom Lane wrote:
> Michael Glaesemann <[EMAIL PROTECTED]> writes:
> > On Dec 26, 2006, at 18:39 , Mike Benoit wrote:
> >> ERROR:  ORDER BY on a UNION/INTERSECT/EXCEPT result must be on one of
> >> the result columns
> 
> > Even though state is a column in both tables, the order by is using  
> > an expression, rather than a column.
> > ...
> > I'm not sure of the underlying reasons why your query doesn't work,  
> > but give these a shot.
> 
> There are some implementation reasons for not supporting expressions
> computed on a UNION result without an intervening sub-SELECT.  It's too
> late at night for me to recall exactly what they are :-( --- one is that
> an Append plan node doesn't do any expression evaluation, but I think
> there are some more-subtle issues too.  Suffice it to say that we could
> support this if we wanted to throw enough effort at it, but so far other
> problems have seemed more pressing.
> 
> In the meantime, it seems like the above-quoted error message is not
> clear enough, since Mike failed to get the point that "the ORDER BY
> item has to be just a simple column name of the UNION output".  Anyone
> have a suggestion for better wording?

I have updated the wording from

  "ORDER BY on a UNION/INTERSECT/EXCEPT result must be on one of the result 
columns")));

to:

  "ORDER BY on a UNION/INTERSECT/EXCEPT result must match existing result 
columns")));

The 'match' wording might help, rather then 'use'.

-- 
  Bruce Momjian   [EMAIL PROTECTED]
  EnterpriseDB    http://www.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +


---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match

Reply via email to