Re: Column "..." does not exist (view + union)

Поиск
Список
Период
Сортировка
От Stefan Weiss
Тема Re: Column "..." does not exist (view + union)
Дата
Msg-id 4EED15EA.6000507@gmail.com
обсуждение исходный текст
Ответ на Re: Column "..." does not exist (view + union)  (Bèrto ëd Sèra <berto.d.sera@gmail.com>)
Ответы Re: Column "..." does not exist (view + union)  (Bèrto ëd Sèra <berto.d.sera@gmail.com>)
Re: Column "..." does not exist (view + union)  (Adrian Klaver <adrian.klaver@gmail.com>)
Re: Column "..." does not exist (view + union)  (Brent Dombrowski <brent.dombrowski@gmail.com>)
Список pgsql-sql
On 2011-12-17 22:36, Bèrto ëd Sèra wrote:
>>I see. So this has to do with the union; after combining the two
>>queries, the tables from the FROM clauses are no longer available.
> 
> this has nothing to do with the UNION, but with the fact that the result
> set is ordered after being produced, so you can order by any of its
> elements, and only by that. You can actually order by calling them
> acording to their position in the result set, like in:
> 
> SELECT 
>   relname, 
>   relpages
> FROM pg_class
> ORDER BY 1;
> 
> where 1 is actually the first element (no matter how it's called). The
> table as such is never available to ORDER BY, no matter how simple your
> query is.

I know, but the problem only occurs when I want to sort by a column
which hasn't been selected, and thus cannot be referred to by its index.
For normal (non-union) queries, this is possible:
   SELECT relname     FROM pg_class    WHERE relhasindex ORDER BY relpages;

In this trivial case, PostgreSQL knows where to look for "relpages".
Not so in a union:
   SELECT relname     FROM pg_class    WHERE relhasindex
UNION   SELECT relname     FROM pg_class    WHERE relhasoids
ORDER BY relpages;

(ERROR: column "relpages" does not exist)

I understand the error now (I think), and I know how to avoid it.


thanks,
stefan


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

Предыдущее
От: Bèrto ëd Sèra
Дата:
Сообщение: Re: using a generated series in function
Следующее
От: Bèrto ëd Sèra
Дата:
Сообщение: Re: Column "..." does not exist (view + union)