Re: UNION with ORDER BY -allowed? - Mailing list pgsql-general

From
Subject Re: UNION with ORDER BY -allowed?
Date
Msg-id 016501c4d881$79e13680$2766f30a@development.greatgulfhomes.com
Whole thread Raw
In response to UNION with ORDER BY -allowed?  (Chris Green <chris@areti.co.uk>)
Responses Re: UNION with ORDER BY -allowed?  (Chris Green <chris@areti.co.uk>)
List 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 by date:

Previous
From: John Sidney-Woollett
Date:
Subject: Re: UNION with ORDER BY -allowed?
Next
From:
Date:
Subject: Re: UNION with ORDER BY -allowed?