SQL 2008R2でストアドプロシージャを作成しようとしています。 私は2つのパラメータ入力を持っています。入力に応じて、理想的には別のパラメータの値を4つの値のいずれかに設定します。これができるかどうかを判断しようとしています。もしそうなら、どこにSPを置くのが最適な場所か。 ここで私のコードのスリムなダウンバージョンです。他のパラメータ入力に基づくストアドプロシージャセットパラメータ
Declare @FWIdle as bYN, @NewComp as bYN
set @FW = 'Y'
set @NEW = 'Y'
select Case(
when w.WearRate <0.400 then round((- 50*w.WearRate+112.5),2
when w.WearRate <0.450 then round((-100*w.WearRate+132.5),2)
when w.WearRate <0.550 then round((- 50*w.WearRate+110.5),2)
else 52.5 END as Score
from EMWear w
@Wearですべてw.WearRateを置き換えるために期待してと二つのパラメータの組み合わせに基づいて、ビュー内の四つの可能な分野の1つに@Wearを設定します。
だから、のようなもの:私はこのレートを扱うコードの150の以上の行を持っているので
if @FW = 'Y' and @NEW = 'N' then @Wear = w.FWRate else
if @FW = 'N' and @NEW = 'Y' then @Wear = w.NewRate else
if @FW = 'Y' and @NEW = 'Y' then @Wear = w.FWNewRate else
@Wear = w.WearRate
は、私が希望する値を取得するには、このコードを4回記述する必要がないことを好むだろう。どのように私はこれを書くことができ、それをきれいに/シンプルに保つために助けていただければ幸いです。
これは正しいWearRateを取得しますが、そのWearRateで使用する複数行の計算でどのように動作するかはわかりません。 入力していただきありがとうございます。 – Kerry