2016-12-22 14 views
1

特定の基準が満たされている場合にテキスト値を返すNetSuiteの保存された検索にSQLクエリを書き込もうとしていて、満たされていない場合、次のCASE WHEN文に移動します。ここで私が持っているものである:LNetSuite SQLのケース

CASE WHEN {shipstate} IN ('AK','ID','MT','OR','WA') THEN 'Northwest' 
ELSE CASE WHEN {shipstate} IN ('CA','HI','NV','AZ') THEN 'West' 
ELSE CASE WHEN {shipstate} IN ('CO','NM','UT','WY') THEN 'Rockies' 
ELSE CASE WHEN {shipstate} IN ('AR','KS,'LA','OK','TX') THEN 'SO Central' 
ELSE CASE WHEN {shipstate} IN ('IN','KY','MI','OH') THEN 'Great Lakes' 
ELSE CASE WHEN {shipstate} IN ('IA','IL','MN','MO','NE','ND','SD','WI') THEN 'Midwest' 
ELSE CASE WHEN {shipstate} IN ('CT','MA','ME','NH','RI','VT') THEN 'Northeast' 
ELSE 'Southeast' 
END END END END END END END 

私は私が間違った場所にENDSを挿入していますかどうかわからないが、私はWHEN文には2 CASEで以前働いていませんでした。どんな助けもありがとう。

答えて

4

あなたはこのようなものcaseと1 end、必要があるので、あなたは、case文で複数のwhen句を持つことができます。

CASE 
    WHEN {shipstate} IN (
     'AK','ID','MT','OR','WA' 
     ) THEN 'Northwest' 
    WHEN {shipstate} IN (
     'CA','HI','NV','AZ' 
     ) THEN 'West' 
    WHEN {shipstate} IN (
     'CO','NM','UT','WY' 
     ) THEN 'Rockies' 
    WHEN {shipstate} IN (
     'AR','KS','LA','OK','TX' 
     ) THEN 'SO Central' 
    WHEN {shipstate} IN (
     'IN','KY','MI','OH' 
     ) THEN 'Great Lakes' 
    WHEN {shipstate} IN (
     'IA','IL','MN','MO','NE','ND','SD','WI' 
     ) THEN 'Midwest' 
    WHEN {shipstate} IN (
     'CT','MA','ME','NH','RI','VT' 
     ) THEN 'Northeast' 
    ELSE 'Southeast' 
END 

ところで、あなたはIN条件の一つで'を忘れては。