2016-12-12 25 views
0

でORDERBYとパターンのようなに基づいて「コード値」によって選択する必要があり、その後、いくつかのによってため彼らは順番を指定します。私は次のクエリを作成しましたが、SQLスルーエラーmsgはどのように使用するか、またはいつSQL

キーワード 'WHEN'の近くに構文が正しくありません。

ここで私は間違いをしていますか?

select * from basevalue 
where codevalue like '01%' 
or codevalue like '02%' 
or codevalue like '03%' 
or codevalue like '04%' 
or codevalue like '05%' 
or codevalue like '00%' 
order by 
    WHEN codevalue like '03%' THEN 1 
    WHEN codevalue like '04%' THEN 2 
    WHEN codevalue like '05%' THEN 3 
    WHEN codevalue like '00%' THEN 4 
    WHEN codevalue like '01%' THEN 5 
    WHEN codevalue like '02%' THEN 6 
    END 
+4

あなたが単語 'CASE'が欠落しています。 '... ORDER BY CASE ... END'を読んでください。 –

+0

@ destination-data @大変お世話になりました。ありがとうございました。このような間違いがあったと信じていません。 –

答えて

7

それは次のように動作するはずです、あなたはCASEELSEを忘れてしまった:

select * from basevalue 
where codevalue like '01%' 
or codevalue like '02%' 
or codevalue like '03%' 
or codevalue like '04%' 
or codevalue like '05%' 
or codevalue like '00%' 
order by CASE 
    WHEN codevalue like '03%' THEN 1 
    WHEN codevalue like '04%' THEN 2 
    WHEN codevalue like '05%' THEN 3 
    WHEN codevalue like '00%' THEN 4 
    WHEN codevalue like '01%' THEN 5 
    ELSE 6 
    END` 
+0

@ destination-dataと正確にあなたの答えを記入していないのですが、あなたの懸念と時間のおかげで答えはすでに返されています –

+0

ああ、 。 –

+1

@ stan.steve - あなたが問題を解決したことは素晴らしいことです。しかし、回答がコメントとして提供されたとしても、質問を閉じるようにしてください。 [meta](http://meta.stackoverflow.com/questions/251597/question-with-no-answers-but-issue-solved-in-the-comments)または[here](http: //meta.stackoverflow.com/questions/253045/answerers-who-only-use-comments) – smoksnes

関連する問題