0
パラメータ値がfalseの場合、クエリに列を追加する必要がある動的クエリで作業しています。パラメータ値に基づいて条件に列を追加するSQL
// SQL:上記のクエリで
SET @FilterExp = 'SELECT * from tblName where ptblnFlag = '+Convert(varchar(2),@blnFlag)+') as tbl where 1=1'+ COALESCE(NULLIF(CONVERT(varchar(8000), @FilterExp),''), '')
私は@blnFlag
列がどこ条件に追加することができ、その後偽であるかどうかを確認する必要があります。本当なら、そこにいる必要はありません。
条件がfalseの場合と同様に、すべての値が返されます。真の場合、結果セットは条件に基づいています。
その同じになります。 – iamCR
@SanthoshKumar Ok、私の答えが有用かどうか。いいえの場合は、このように質問を変更します。動的SQLを使用しないでください。 '@blnFlag = 0'の場合は' select * from ... 'のようにする必要があります。 '@blnFlag <> 0'の場合は' select * from ...'のようになります。 –
ロジックが機能しました。サブクエリとより複雑な条件がほとんどないため、私は '動的クエリ 'を挙げました。御時間ありがとうございます。 – iamCR