× 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.



Thanks for your reply same
Inserting the else 0 definitely helped in getting to my end result
Now I just have to paste everything together

I want to thanks everyone that replied to my request
Alan Shore
E-mail : ASHORE@xxxxxxxx
Phone [O] : (631) 200-5019
Phone [C] : (631) 880-8640
'If you're going through hell, keep going.'
Winston Churchill

-----Original Message-----
From: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Sam_L
Sent: Thursday, June 11, 2015 11:45 AM
To: midrange-l@xxxxxxxxxxxx
Subject: Re: How to use SQL CASE

This should work:

case when BOX_SIZE = '1'then SEL0003 else 0 end as Count1, case when BOX_SIZE = '2'then SEL0003 end as Count2, case when BOX_SIZE = '3'then SEL0003 end as Count3, case when BOX_SIZE = '4'then SEL0003 end as Count4, case when BOX_SIZE = '5'then SEL0003 end as Count5, case when BOX_SIZE = '6'then SEL0003 end as Count6, case when BOX_SIZE = '7'then SEL0003 end as Count7, case when BOX_SIZE = '8'then SEL0003 end as Count8, case when BOX_SIZE = '9'then SEL0003 end as Count9, case when BOX_SIZE = '0'then SEL0003 end as Count0, case when BOX_SIZE not between '0' and '9' then
SEL0003 end as Count_Other

Note that on the first line I included an else statement to replace null in Count1 with zero. If you do not want nulls in the result set, repeat for the rest of the counts.

Sam

On 6/11/2015 9:51 AM, Alan Shore wrote:
Thanks for your reply Chuck
I tried the following
SELECT OPER,
case BOX_SIZE when '1'then SEL0003 end as Count1, case BOX_SIZE when
'2'then SEL0003 end as Count2, case BOX_SIZE when '3'then SEL0003 end
as Count3, case BOX_SIZE when '4'then SEL0003 end as Count4, case
BOX_SIZE when '5'then SEL0003 end as Count5, case BOX_SIZE when
'6'then SEL0003 end as Count6, case BOX_SIZE when '7'then SEL0003 end
as Count7, case BOX_SIZE when '8'then SEL0003 end as Count8, case
BOX_SIZE when '9'then SEL0003 end as Count9, case BOX_SIZE when
'0'then SEL0003 end as Count0, case BOX_SIZE when not between '0' and
'9' then
SEL0003 end as Count_Other FROM ORDSPCKEDZ

And received the error
Keyword BETWEEN not expected. Valid tokens: + - THEN.


Alan Shore
E-mail : ASHORE@xxxxxxxx
Phone [O] : (631) 200-5019
Phone [C] : (631) 880-8640
'If you're going through hell, keep going.'
Winston Churchill

-----Original Message-----
From: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of
CRPence
Sent: Thursday, June 11, 2015 10:44 AM
To: midrange-l@xxxxxxxxxxxx
Subject: Re: How to use SQL CASE

On 11-Jun-2015 07:31 -0600, Alan Shore wrote:
Before I forget - we are on V5r4 - hopefully moving up to the latest
release very soon.
Here is my predicament:
I have a file that contains 3 fields
* User Profile name
Apparently: OPER
* Box Size
Apparently: BOX_SIZE
* Count
Apparently: SEL0003

Box size can have valid values of:
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'
I want to create a new file with the following

So apparently either the SELECT in a CREATE TABLE or CREATE VIEW.?

SELECT OPER,
case BOX_SIZE when '1'then SEL0003 end as Count1,
case BOX_SIZE when '2'then SEL0003 end as Count2,
case BOX_SIZE when '3'then SEL0003 end as Count3,
case BOX_SIZE when '4'then SEL0003 end as Count4,
case BOX_SIZE when '5'then SEL0003 end as Count5,
case BOX_SIZE when '6'then SEL0003 end as Count6,
case BOX_SIZE when '7'then SEL0003 end as Count7,
case BOX_SIZE when '8'then SEL0003 end as Count8,
case BOX_SIZE when '9'then SEL0003 end as Count9,
case BOX_SIZE when '0'then SEL0003 end as Count0,
case BOX_SIZE when not in ('0', '1', '2', '3', '4',
'5', '6', '7''8', '9',) then
SEL0003 end as Count_Other
FROM file

It's the last case clause that I am having a problem with
case BOX_SIZE when not in ('0', '1', '2', '3', '4',
'5', '6', '7''8', '9',) then
SEL0003 end as Count_Other


Other than the missing comma and the extraneous comma? Define "problem"? If just those two problems, then try the following revision for resolution:

case BOX_SIZE when not in ('0', '1', '2', '3', '4',
'5', '6', '7', '8', '9') then
SEL0003 end as Count_Other

IIRC the BETWEEN predicate is inclusive, so assuming any /normal/ Sort Sequence (SRTSEQ) [other than a custom table (TBL)], then the following is an alternative:

case BOX_SIZE when not between '0' and '9' then
SEL0003 end as Count_Other



I want to capture the count if it's not a valid value into its own
field

I hope this makes sense
As always - all response gratefully accepted


HTH

--
Regards, Chuck

--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/midrange-l.


--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/midrange-l.


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.