私はレポートを作成しています。データセットの格付けの違いによって、パラメータに応じて柔軟に対応する必要があります。Sql WHERE句のCASEとINの使用
nullまたは成績のみが必要です。私は構文エラーを取得し、CASE WHEN
の内側にそれを実装しようとする句が、これはちょうど私がパラメータをハードコーディングする文句を言わないように、データセットの一部をしようとしている、以下
(x is null or x in (1,2,3))
だろうどこだから、通常のこの部分の後の値
DECLARE @Type NVARCHAR(30)
set @Type = foo
select COUNT(A) as A,B,C
FROM Activity act
inner join x
inner join v
inner join y
inner join z
where 1=1
and DetailKey = @Type
and cd.Value is null or IN
CASE @Type
WHEN 'foo' THEN ('1','2','3') ELSE
WHEN 'bar' THEN ('YR','OR','DR') END
EDIT:不足のための例では省略されていますが、問題はありません。
は、あなたは完全なクエリを投稿することができますか? – Squirrel
あなたのCASE WHEN構文も間違っています – Squirrel
'1 = 1'の意味はなんですか?これは、処理時間を追加するだけの利点はありません。 – Larnu