Re: Is it possible to make the order of output the same as the order of input parameters? - Mailing list pgsql-general

From Stephen Frost
Subject Re: Is it possible to make the order of output the same as the order of input parameters?
Date
Msg-id 20100602114336.GC21875@tamriel.snowman.net
Whole thread Raw
In response to Is it possible to make the order of output the same as the order of input parameters?  ("m. hvostinski" <makhvost@gmail.com>)
Responses Re: Is it possible to make the order of output the same as the order of input parameters?  ("A. Kretschmer" <andreas.kretschmer@schollglas.com>)
Re: Is it possible to make the order of output the same as the order of input parameters?  ("m. hvostinski" <makhvost@gmail.com>)
List pgsql-general
* m. hvostinski (makhvost@gmail.com) wrote:
> I have a simple query like:
>
> SELECT * FROM customer WHERE id IN (23, 56, 2, 12, 10)
>
> The problem is that I need to retrieve the rows in the same order as the set
> of ids provided in the select statement. Can it be done?

Not very easily.  My first thought would be doing something like:

SELECT
  customer.*
FROM
  customer a
  JOIN (VALUES (1,23),(2,56),(3,2),(4,12),(5,10)) b
    ON (a.id = b.column2)
ORDER BY b.column1
;

    Thanks,

        Stephen

Attachment

pgsql-general by date:

Previous
From: Stephen Frost
Date:
Subject: Re: Out of Memory and Configuration Problems (Big Computer)
Next
From: Sam Mason
Date:
Subject: Re: Is it possible to make the order of output the same as the order of input parameters?