次の @temp テーブルがあります。
SELECT *
FROM @temp
WHERE LinkingID = 1
------------------------------------------------------------------
|Condition_ID LinkingID Operator Variable1 Variable2 |
| 1 1 == 25 2 |
| 2 1 <> 3 7 |
| 3 1 == 4 4 |
------------------------------------------------------------------
Variable1 Variable2CASE
が trueかどうかをチェックする ( ??? )を実装し、すべての行をチェックし、すべての行が true の場合は何かを実行し、そうでない場合は中断して中止します。 OPERATOR
私はこのようなことを考えていました(T-SQLでこれを表現する方法がわからないので、疑似言語を使用します):
CASE
WHEN Operator LIKE '=='
THEN IF Variable1 == Variable2 THEN TRUE
ELSE THEN FALSE
WHEN Operator LIKE '<>'
THEN IF Variable1 <> Variable2 THEN TRUE
ELSE THEN FALSE
FROM @temp
この結果がすべての行で true の場合は何かを行い、そうでない場合は別のことを行います
上記のシナリオでは、
Row1 が返され、Row2 が返され、 FALSE
Row3 がTRUE
返されます。TRUE
したがって、結果はFALSE
です。