2011-10-28 37 views
0

私は多くの条件を持つストアプロシージャを持っていますが、それらのうちの1つは自分のパラメータの値に依存します。 私は文と重複するクエリを使用している瞬間、私は改善したいが、私は他の方法を見つけることができません。どのように私はそれをどのように改善できるか条件付きクエリ

MyStoreProcedureコード

If @paramstate = 'All' 
    Select mytable.field1, mytable.field2, mytable.field3, mytable.field4,mytable.field5 
    from mytable 
    Where mytable.field6 is null 
    and mytable.field1 is not null 
Else 
    Select mytable.field1, mytable.field2, mytable.field3, mytable.field4,mytable.field5 
    from mytable 
    Where mytable.field6 is null 
    and mytable.field1 is not null 
    and mytable.state = @paramstate 
End 

いくつかのアイデア?

答えて

1

私は、これがあれば/他の必要性を取り除くと思いますが、これ

Select mytable.field1, mytable.field2, mytable.field3, mytable.field4,mytable.field5 
    from mytable 
    Where mytable.field6 is null 
    and mytable.field1 is not null 
    and (mytable.state = @paramstate or @paramstate = 'All') 
+0

おかげで、効率的ではないかもしれないことを注意してください。それは今働く! – user1004299