Ordering by IN

Поиск
Список
Период
Сортировка
От Hadley Willan
Тема Ordering by IN
Дата
Msg-id 1093414736.2365.203.camel@atlas.sol.deeper.co.nz
обсуждение исходный текст
Ответы Re: Ordering by IN  (Eric B.Ridge <ebr@tcdi.com>)
Re: Ordering by IN  (Mike Benoit <ipso@snappymail.ca>)
Список pgsql-general
Hi,
    I was wondering if it's possible to order the result set by some of the set contained in an IN clause.

For example.
SELECT * FROM v_fol_unit_pub_utmpt WHERE folder_folder_object = 100120 AND unit IN ( 90072, 90005, 90074, 90075 ) AND unit_pub_type IN ( 2 ) AND utmpt IN ( 1 );

Results in.

folder_folder_object | unit  | unit_type | unit_quantity | unit_pub_type | utmpt
----------------------+-------+-----------+---------------+---------------+-------
               100120 | 90005 |       101 |             1 |             2 |     1
               100120 | 90072 |       101 |             1 |             2 |     1
               100120 | 90074 |       101 |             1 |             2 |     1

When ideally I'd like to maintain the order as per ordered list of unit ids passed in as the parameters.
Like so;

folder_folder_object | unit  | unit_type | unit_quantity | unit_pub_type | utmpt
----------------------+-------+-----------+---------------+---------------+-------
               100120 | 90072 |       101 |             1 |             2 |     1
               100120 | 90005 |       101 |             1 |             2 |     1
               100120 | 90074 |       101 |             1 |             2 |     1



Is this even possible?

Thanks

В списке pgsql-general по дате отправления:

Предыдущее
От: Carlos Moreno
Дата:
Сообщение: Re: Deadlocks caused by referential integrity checks
Следующее
От: Ulrich Wisser
Дата:
Сообщение: Missing FROM clause