Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> Re: Self defined sort order in SELECT
"Tibor Jager" <tibor_at_despammed.com> a écrit dans le message de news:2qdq35FttuboU1_at_uni-berlin.de...
> Hello,
>
> is there any possibility to sort the result of a select-statement by self
> defined rules, before the result is passed to the application?
> For example:
>
> SELECT client, emp_status, Name FROM table ORDER BY client ASC, emp_status
> ASC
>
> returns:
>
> General Motors | Employee | Mr. Smith
> General Motors | Member of Board | Mr. Doe
> General Motors | Secratary | Mrs. Easy
> Kellogs | Employee | Mr. Bush
> Kellogs | Member of Board | Mr. Kerry
> Porsche | Employee | Mr. Snyder
> Porsche | Member of Board | Mrs. Porsche
> Porsche | Secratary | Mrs. Nice
>
> but I would like to have the result displayed like this:
>
> General Motors | Member of Board | Mr. Doe
> General Motors | Employee | Mr. Smith
> General Motors | Secratary | Mrs. Easy
> Kellogs | Member of Board | Mr. Kerry
> Kellogs | Employee | Mr. Bush
> Porsche | Member of Board | Mrs. Porsche
> Porsche | Employee | Mr. Snyder
> Porsche | Secratary | Mrs. Nice
>
> Thank you for every good advise!
>
> Tibor
>
If you have only 3 emp_status with the order you show, you can do: order by client, decode(emp_status,'Member of Board',1,'Employee',2,'Secratary',3)
If the rule is complicated, you can create your own order function and use: order by client, my_function(emp_status)
-- Regards Michel CadotReceived on Fri Sep 10 2004 - 11:11:27 CDT
![]() |
![]() |