On Thu, Dec 02, 2004 at 10:13:26AM -0500, [EMAIL PROTECTED] wrote: > > -----Original Message----- > > From: [EMAIL PROTECTED] > > [mailto:[EMAIL PROTECTED] Behalf Of Chris Green > > Sent: Thursday, December 02, 2004 9:56 AM > > To: [EMAIL PROTECTED] > > 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) > Yes, they are all matching types, what I said just below indicates this (note that the other columns are the *same* columns).
> > > > 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. :) > That's what I thought it was saying, thanks for confirming it. -- Chris Green ([EMAIL PROTECTED]) "Never ascribe to malice, that which can be explained by incompetence." ---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster