WHERE節の条件をデータに基づいて動的に変更する必要があるメソッドを探しています。動的に設定されているクエリの条件
私のシナリオの模擬データを見つけてください。
-----------------------------------
ConditionID ConditionName
-----------------------------------
1 N/A
2 Over
3 Under
--------------------------------------------------------------
ID Amount ThresholdAmount ConditionID
--------------------------------------------------------------
1 90 100 3
2 190 100 2
3 90 100 2
4 190 100 3
5 90 100 1
[ConditionID]に基づいて[Amount]と[ThresholdAmount]を比較する必要があります。たとえば、条件が 'Over'の場合、[Amount]は[ThresholdAmount]以上でなければなりません。満たされていない場合は、レコードをフィルタリングする必要があります。
注:私は自分よりも優れたアプローチがあるかどうかを調べています。
私のアプローチ:
WHERE
1 = CASE
WHEN ConditionName = 'OVER' THEN
CASE WHEN ([Amount] >= [ThresholdAmount]) THEN 1 ELSE 0 END
WHEN ConditionName = 'UNDER' THEN
CASE WHEN ([Amount] <= [ThresholdAmount]) THEN 1 ELSE 0 END
WHEN ConditionName = 'N/A' THEN
1
END
おかげで、 Prakazz
質問を編集して「回答」を表示してください。なぜあなたがすでにやったことに着くのであれば、誰も助けようと心配してはいけません。 –
@GordonLinoff – Prakazz