Re: UNION with ORDER BY -allowed?

Поиск
Список
Период
Сортировка
От
Тема Re: UNION with ORDER BY -allowed?
Дата
Msg-id 016501c4d881$79e13680$2766f30a@development.greatgulfhomes.com
обсуждение исходный текст
Ответ на UNION with ORDER BY -allowed?  (Chris Green <chris@areti.co.uk>)
Ответы Re: UNION with ORDER BY -allowed?
Список pgsql-general
> -----Original Message-----
> From: pgsql-general-owner@postgresql.org
> [mailto:pgsql-general-owner@postgresql.org]On Behalf Of Chris Green
> Sent: Thursday, December 02, 2004 9:56 AM
> To: pgsql-general@postgresql.org
> Subject: [GENERAL] UNION with ORDER BY -allowed?
>
>
> It's not quite clear (to me at least) whether I can have a UNION and
> an ORDER BY in a SELECT statement.
>
> What I want to do is:-
>
>     SELECT
>         col1, col2, col5, col6
>     FROM
>         table
>     WHERE
>         col2 = 'X'
>     UNION
>     SELECT
>         col3, col4, col5, col6
>     FROM
>         table
>     WHERE
>         col4 = 'X'
>     ORDER BY
>         coalesce(col1, col3)
>
> Is this valid syntax allowed by postgresql?  (I'm not at the system
> where postgresql is installed at the moment so I can't just try it)
Yes, provided the columns are the same data types (or you can cast them to make them the same)

>
> col1 and col3 are both DATE columns.  col2 and col4 are both
> varchar(1).
>
> I want the ORDER BY to order the result of the UNION.

It does, per SQL spec.  Nothing less would make sense if you ask me.  :)



Terry Fielder
Manager Software Development and Deployment
Great Gulf Homes / Ashton Woods Homes
terry@greatgulfhomes.com
Fax: (416) 441-9085


>
> --
> Chris Green (chris@areti.co.uk)
>
>     "Never ascribe to malice, that which can be explained by
> incompetence."
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
>

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

Предыдущее
От: John Sidney-Woollett
Дата:
Сообщение: Re: UNION with ORDER BY -allowed?
Следующее
От:
Дата:
Сообщение: Re: UNION with ORDER BY -allowed?