は、ここで彼らは動作しません、私のクエリをだが、私はこのような何かをしたい:WHERE句でCASE文をIS NULLで使用するにはどうすればよいですか?
SELECT a_field FROM a_table
WHERE
...
AND
CASE
WHEN a_value_from_another_query IS NULL THEN a_second_field IS NULL
ELSE a_second_field = a_value_from_another_query
END
それとも
SELECT a_field FROM a_table
WHERE
...
AND
CASE a_value_from_another_query
WHEN NULL THEN a_second_field IS NULL
ELSE a_second_field = a_value_from_another_query
END
それとも、私が追加したいa_value_from_another_query IS NULL
SELECT a_field FROM a_table
WHERE
...
AND
CASE NVL(a_value_from_another_query, 'x')
WHEN 'x' THEN a_second_field IS NULL
ELSE a_second_field = a_value_from_another_query
END
a_second_field IS NULL
私のWHERE句には、
a_value_from_another_query IS NOT NULL
、私はWHERE句に
a_second_field = a_value_from_another_query
を追加したいと思います。どうすればこれを達成できますか?
:あなたは、クエリの作業を取得したい場合 、あなたは、このような何かを最初のcase式を使用する必要があり、その値を返します。 'CASE expr WHEN value THEN ...'表記法を使うこともできますし、 'CASE WHEN expr THEN ...'を使うこともできますが、単純な 'CASE WHEN NULL THEN'表記は、NULLが常に評価されるのでTHENを評価しませんUNKNOWNに、TRUEではない。 –
'CASE WHENフィールドがNULLである... ' –
条件付き結合条件を達成する方法についての回答が必要な場合は、さらにクエリを投稿してください。 –