私が持っている場合:In文が受け入れられませんSelect?
select * from Dealer DDDD
left join Filter FFFF on DDDD.dealer_id = FFFF.DealerId
WHERE FFFF.FilterId IN (CASE WHEN EXISTS (Select 1 from @filterIds) THEN (Select FilterId from @filterIds) ELSE FFFF.FilterId END)
@filterIds
はイムテストが2つのレコードを持つテーブル値パラメータです。 nullまたは1つの値しか持たない場合は問題ありませんが、2つ以上の「サブクエリが式として使用されたときにサブクエリが1つ以上の値を返しました。エラー。
私はちょうど持っそれをテストしてみました:
WHERE FFFF.FilterId IN (Select FilterId from @filterIds)
、それが動作します。
しかし、フィルタが入力されない可能性があるとの考えで、私はそれが必要です。
あらかじめおねがいします!
'FFFF.FilterId = FFFF.FilterId'は常にtrueです.executeはNULLです。あなたが何を求めているかははっきりしていません。また、エラーがクリアされている場合、ステートメントの場合は2つ以上の値を返すことはできません。 – Horaciux
データサンプルに期待される結果を追加します。 Selectの近く。 – NoOne
を持っている場合はすべてのものを返したい – NoOne