Re: [SQL] Sort problem - Mailing list pgsql-general

From Bruce Momjian
Subject Re: [SQL] Sort problem
Date
Msg-id 200202252003.g1PK3gO07141@candle.pha.pa.us
Whole thread Raw
In response to Re: [SQL] Sort problem  ("Samuel J. Sutjiono" <ssutjiono@wc-group.com>)
List pgsql-general
Samuel J. Sutjiono wrote:
> Bruce,
>
> My apology. Actually I posted the wrong problem. Here is my problem:
>
> IF (SortOrder = ''price'') Then
> BEGIN
>  For rec_set IN
>    SELECT * from Catalog where ((VendorName ~* SearchString)
>    ORDER BY CASE WHEN SortOrder = ''store'' Then VendorName
>                                  WHEN SortOrder = ''category'' Then
> ProductCategory Else Price END
>
> Here is the error message:
> ERROR:  CASE types "numeric" and "varchar" not matched.
>
> By the way, do you know how to do a variable (that contains 'attribute name'
> instead of 'attribute value') substitution. For instance, if the attribute
> name 'Price' is passed to the sort parameter ($1) so I can just do ORDER BY
> $1 instead of doing case statement.

The CASE can't return on type of data in one branch and a different type
in another.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

pgsql-general by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Backup & Restore
Next
From: Bruce Momjian
Date:
Subject: Re: Ordering 'A', 'B', ..., 'Z', 'AA', 'AB', ...