×
The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.
I solved the problem.
The end of the CASE clause just needs an END, not END CASE.
By specifing end case, I was assigning the result to column name case.
I changed it to the column name I wanted and was able to use that in my Order By.
Thanks to all who responded.
Jeff Young
Sr. Programmer Analyst
IBM -e(logo) server Certified Systems Exper - iSeries Technical Solutions V5R2
IBM Certified Specialist- e(logo) server i5Series Technical Solutions Designer V5R3
IBM Certified Specialist- e(logo)server i5Series Technical Solutions Implementer V5R3
----- Original Message ----
From: Adam Glauser <adamglauser@xxxxxxxxxxxx>
To: midrange-l@xxxxxxxxxxxx
Sent: Thursday, March 13, 2008 12:17:41 PM
Subject: Re: SQL Question
Jeff Young wrote:
Given the following SQL Statement -
select substr(oncitm,5,10) cstitm, onitem,okpric price,
case when okpgrp = '40004' then '1'
when okpgrp = '40001' then '2' end case
from
vcoitem join vinitem
How can I specify the result of the CASE clause in the order by clause.
Also, how can I assign a name to the result of the CASE clause
As far as I know, you have to copy the whole case statement into the
ORDER BY clause, like so
select substr(oncitm,5,10) cstitm, onitem,okpric price,
case when okpgrp = '40004' then '1'
when okpgrp = '40001' then '2' end case
from
vcoitem join vinitem
order by case when okpgrp = '40004' then '1'
when okpgrp = '40001' then '2' end case
As an Amazon Associate we earn from qualifying purchases.