表:私はこれを持っているUIで"where"句をベクトルでエレガントにする方法は?
name | isActive //(bit - not nullable)
___________________
a 1
b 1
c 0
d 0
... ...
:
彼はそのベクトルを作成するだけActive ones
、Non Active ones
、Nothing
イムをwantd場合、ユーザが選択することができます次のいずれかの値を持つことができます:'11,10,01,00'
10 =私にアクティブを与え、私を与えるいけない - 非活性物質
01 =は私に非アクティブを与え、私を与えるいけない -
...活性物質
11は私の両方を与えます00何も...
これがスタートです。
が、イム私のクエリでwhere
句の最もエレガント方法を探して:
私の撮影:
select ...
WHERE isActive = CASE WHEN LEFT(@vector, 1) = RIGHT(@vector, 1)
AND RIGHT(@vector, 1) = '1' THEN isActive
ELSE
... (more option calculations (bad and long and non elegant ...)
END
任意のエレガントな助け?
単純な 'WHERE active = 1(または0)'の何が問題なのですか? –
@ Lieven時にはポーポールは1,2, –
のレポートを望んでいる私はおそらくまだ全体の画像を見ていないだろうが、その場合は、あなたはちょうどwhere句をすべて排除するだろうか? –