Re: union query format

From: "Joel Burton" <joel(at)joelburton(dot)com>
To: "Robert Wynter" <rgwynter(at)rci(dot)rogers(dot)com>, <pgsql-sql(at)postgresql(dot)org>
Subject: Re: union query format
Date: 2002-04-26 21:32:14
Message-ID: JGEPJNMCKODMDHGOBKDNIEHBCLAA.joel@joelburton.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

> Hi I'm trying to combine 3 query's in a union query as follows:
>
> rowdate nco nca nch aht asa svl
> %abandon
>
> With Query 1;
>
> 04/01/02 1000 500 500 450 23 .23 .50
> 04/02/02 2000 500 1500 450 23 .23 .50
>
> plus Query 2;
>
> wtd 3000 1000 2000 450 23 .23 .50
>
> and Query 3;
>
> mtd 3000 1000 2000 450 23 .23 .50
>
>
> I have 2 problems once the Union Query has run.
> 1. because Query 2 & 3 are text, it's forcing Query 1 into text and the
> date order is all messed up.
> 2. I need to formate the fileds for svl & % abandon as a percentage.

Something like:

SELECT rowdate AS sort, rowdate::text, nco, ..., asa * 100 || '%' FROM
query1
UNION
SELECT 'infinity'::timestamp, rowdate, ... FROM query2
UNION
SELECT 'infinity'::timestamp, rowdate, ... FROM query2
ORDER BY 1

This will let you sort by the first column as dates (keeping wtd and mtd at
the end).
To show a number as percentage, x * 100 appended with '%' works fine. See
to_char() if you need more control.

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Josh Berkus 2002-04-26 21:57:20 Function won't complete
Previous Message Wayne Seward 2002-04-26 20:51:53 Trying to purchase an annual subscription to the CD distribution