Alvaro Herrera wrote: > Bruce Momjian wrote: > > > Here the column result is an expression, and you reference that. > > Updated wording: > > > > test=> select * from test union select * from test order by x is null; > > ERROR: A UNION/INTERSECT/EXCEPT ORDER BY cannot use expressions or functions, only result column names > > This seems at odds with our message style guidelines. I'd suggest > putting the actual error message in errmsg() and the rest as a errhint, > maybe > > (errmsg("invalid UNION/INTERSECT/EXCEPT ORDER BY clause"), > errhint("You may specify only output result column names in the ORDER BY clauses.")) > > or something like that. Updated wording: test=> SELECT * FROM test UNION SELECT * FROM test ORDER BY X IS NULL; ERROR: invalid UNION/INTERSECT/EXCEPT ORDER BY clause DETAIL: Only result column names can be used, not expressions or functions. HINT: Add the expression/function to every SELECT, or move the UNION into a FROM clause. -- Bruce Momjian bruce@xxxxxxxxxx EnterpriseDB http://www.enterprisedb.com + If your life is a hard drive, Christ can be your backup. +