これを適切に動作するコードをもう少し...美しくしたいと思います。大きなCASE文を単純化するには?
SET @weightClass = CASE
WHEN @totalWeight < 50 THEN 'A'
WHEN @totalWeight < 100 THEN 'B'
WHEN @totalWeight < 150 THEN 'C'
WHEN @totalWeight < 200 THEN 'D'
WHEN @totalWeight < 250 THEN 'E'
WHEN @totalWeight < 300 THEN 'F'
WHEN @totalWeight < 350 THEN 'G'
WHEN @totalWeight < 400 THEN 'H'
WHEN @totalWeight < 450 THEN 'I'
WHEN @totalWeight < 500 THEN 'J'
WHEN @totalWeight < 550 THEN 'K'
WHEN @totalWeight < 600 THEN 'L'
WHEN @totalWeight < 650 THEN 'M'
WHEN @totalWeight < 700 THEN 'N'
WHEN @totalWeight < 750 THEN 'O'
WHEN @totalWeight < 800 THEN 'P'
WHEN @totalWeight < 850 THEN 'Q'
WHEN @totalWeight < 900 THEN 'R'
WHEN @totalWeight < 950 THEN 'S'
ELSE 'T'
END
私はこれを行うことが可能(かつ実現可能な)だろう文字と50の論理的な増分のASCII値を使用する方法があるかもしれないと考えていますか?どのようにしてクエリが著しく遅くなるのでしょうか?文字を取得する
whileループでCHARのですか?増分はアルファベット順になっているので、それを機能させるにはあまりにも難しいはずがありません。 – imBlue
weightClassテーブルを定義します。排他的なウェイト範囲を持つ可能性があります。 – user6144226