From: | David Hartwig <daybee(at)bellatlantic(dot)net> |
---|---|
To: | Greg Youngblood <YoungblG(at)houstoncellular(dot)com> |
Cc: | "'PostgreSQL SQL List'" <pgsql-sql(at)postgreSQL(dot)org> |
Subject: | Re: [SQL] Please help: How to determine largest of two numbers in a query? |
Date: | 1998-12-03 02:24:37 |
Message-ID: | 3665F665.15AC16B4@bellatlantic.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
My $.03 worth, without really knowing what these values represent:
There is no such "standard" query that can conditionally select between two
columns. Fortunately PostgreSQL will allow you to create function - of one
does not already exist.
The function would be something like:
greater_int(integer a, integer b)
It takes two integers arguments and returns the greater integer.
Then you do something like:
CREATE VIEW myview AS
SELECT yyymmdd, key, greater_int(value1, value2) FROM mytable;
Or just do the SELECTs directly.
This may not be the most efficient way to accomplish your goal. I would also
take a good look at may table design. Value1 and value2 MAY be a repeating
group and you may want to normalize a little more. Or not.
Greg Youngblood wrote:
> I have a table with the following structure:
> yyyymmdd int4
> key char(16)
> value1 int4
> value2 int4
>
> with the following sample data:
> yyyymmdd key value1 value2
> 19981201 hello 32 16
> 19981201 bye 29 64
> 19981202 hello 16 20
> 19981202 bye 23 13
>
> What I need is to select the greatest between value1 and value2, so the
> answer would be:
> yyyymmdd key value
> 19981201 hello 32
> 19981201 bye 64
> 19981202 hello 20
> 19981202 bye 23
>
> I can do this via ODBC using access by creating a column which is defined as
> IF(value1>value2,value1,value2) but that doesn't work in psql.
>
> How can I make this work in psql?
>
> Thanks
> Greg
From | Date | Subject | |
---|---|---|---|
Next Message | sqyang | 1998-12-03 07:52:04 | hash join --- hash table out of memory |
Previous Message | Adam Maddock | 1998-12-03 01:45:52 | Re: [SQL] Please help: How to determine largest of two numbers in a query? |